0

所以,我有一个带有事件的 Delphi 对象,它是“对过程()的引用”。通常我可以这样做来分配代表。

MyObj.OnBooom := HandleOnBooom;

现在我想对事件是否被调用进行单元测试。所以使用依赖于接口的Delphi Mocks,我将制作一个具有“OnBooom”过程的接口,将接口传递给TMock对象。然后这样做。

MyObj.OnBooom := FMockCaller.Instance.OnBooom;

但这不会编译,因为显然 Delphi 认为,在右侧我只是调用接口的过程,而不是想将其分配给左侧。

那么,有没有办法让这个分配工作?还是有其他方法可以让 Delphi Mocks 活动?谢谢。

4

1 回答 1

2

您可以使用匿名方法:

MyObj.OnBooom := procedure begin FMockCaller.Instance.OnBooom; end;
于 2014-10-14T09:55:50.257 回答