gpt4 book ai didi

c# - 犀牛模拟。如何添加订阅事件处理程序的期望

转载 作者:太空狗 更新时间:2023-10-29 23:25:30 25 4
gpt4 key购买 nike

我有一个这样的界面:

interface IView
{
event EventHandler<MyEventArgs> SomeEvent;
}

和一个类

class Presenter
{
private IView _view;
public Presenter(IView view)
{
view.SomeEvent += MyEventHandler;
}

private MyEventHandler(...)
}

我正在尝试使用 RhinoMocks 和 MockRepository 测试这些东西。VerifyAll() 抛出以下异常

Rhino.Mocks.Exceptions.ExpectationViolationException: IView.add_SomeEvent(System.EventHandler`1[MyEventArgs]); Expected #1, Actual #0.

所以问题:

如何添加订阅事件的期望值?

最佳答案

对不起各位,我发现我做错了什么:

_viewMock.Expect(x => x.SomeEvent+= Arg<EventHandler<MyEventArgs>>.Is.Anything); 

Presenter p = new Presenter(_viewMock);

_mockRepository.ReplayAll();

...

_mockRepository.VerifyAll();

在创建 Presenter 的新实例之前,我必须 ReplayAll。

谢谢。

关于c# - 犀牛模拟。如何添加订阅事件处理程序的期望,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9327608/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com