繁体   English   中英

如何在Delphi中嘲弄事件处理程序或将接口方法分配为委托?

[英]How can I Delphi Mocks an event handler or, assign interface method as delegate in Delphi?

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

MyObj.OnBooom:= HandleOnBooom;

现在我要对事件是否被调用进行单元测试。 因此,对于依赖于接口的Delphi Mocks,我将创建一个具有过程“ OnBooom”的接口,并将该接口传递给TMock对象。 然后做这个。

MyObj.OnBooom:= FMockCaller.Instance.OnBooom;

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

那么,有什么办法可以让我分配这个作品吗? 还是有其他方法可以阻止Delphi参加活动? 谢谢。

您可以使用匿名方法:

MyObj.OnBooom := procedure begin FMockCaller.Instance.OnBooom; end;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM