我向我的班级注入了一个用FakeItEasy生成的存根。在某些时候,我的类订阅了依赖项的事件。我想在之后调用此事件作为我的测试方法的一部分,但它似乎不起作用:
var restApiManager = A.Fake<IRestApiManager>(); //IRestApiManager has Connected event
var target = new ViewModel(restApiManager);
target.Connect(); //some private method subscribes to RestApiManager.Connected
restApiManager.Connected(); //obviously not working
有没有办法从存根中调用事件?
答案 0 :(得分:2)
FakeItEasy文档中的Raising events主题涵盖了事件提升。
你想要打这样的话
restApiManager.Connected += Raise.With(arguments);
或某些变体,具体取决于事件提供给侦听器的参数。
如果您使用自定义委托定义了事件,那么您需要提供一个类型参数:
restApiManager.Connected += Raise.With<CustomEventHandler>(arguments);