为 FakeItEasy 存根调用事件
Invoke event for FakeItEasy stub
我将使用 FakeItEasy 生成的存根注入到我的 class。在某些时候,我的 class 订阅了依赖项的事件。我想在之后调用此事件作为我的测试方法的一部分,但它似乎不起作用:
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
有没有办法从存根调用事件?
FakeItEasy 文档中的 Raising events 主题介绍了事件引发。
你会想像这样调用
restApiManager.Connected += Raise.With(arguments);
或某些变体,具体取决于事件提供给侦听器的参数。
如果您使用自定义委托定义了事件,则需要提供类型参数:
restApiManager.Connected += Raise.With<CustomEventHandler>(arguments);
我将使用 FakeItEasy 生成的存根注入到我的 class。在某些时候,我的 class 订阅了依赖项的事件。我想在之后调用此事件作为我的测试方法的一部分,但它似乎不起作用:
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
有没有办法从存根调用事件?
FakeItEasy 文档中的 Raising events 主题介绍了事件引发。
你会想像这样调用
restApiManager.Connected += Raise.With(arguments);
或某些变体,具体取决于事件提供给侦听器的参数。
如果您使用自定义委托定义了事件,则需要提供类型参数:
restApiManager.Connected += Raise.With<CustomEventHandler>(arguments);