【问题标题】:Invoke event for FakeItEasy stub为 FakeItEasy 存根调用事件
【发布时间】:2017-02-18 08:53:32
【问题描述】:

我将使用 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

有没有办法从存根调用事件?

【问题讨论】:

    标签: .net fakeiteasy


    【解决方案1】:

    事件引发在 FakeItEasy 文档中的 Raising events 主题中进行了介绍。

    你会想要这样称呼

    restApiManager.Connected += Raise.With(arguments);
    

    或一些变体,取决于事件提供给侦听器的参数。

    如果您使用自定义委托定义了事件,则需要提供类型参数:

    restApiManager.Connected += Raise.With<CustomEventHandler>(arguments);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-25
      • 1970-01-01
      • 2014-11-26
      • 1970-01-01
      相关资源
      最近更新 更多