使用FakeItEasy进行伪造方法调用会引发事件吗?

时间:2012-07-24 14:26:00

标签: c# mocking fakeiteasy

我试图按照以下方式做点什么:

A.CallTo(() => fakeTimer.Start()).Invokes(() => 
    fakeTimer.Elapsed += Raise.With<ElapsedEventArgs>(ElapsedEventArgs.Empty).Now);

fakeTimer假冒ITimer,是this answer的封装界面。

<击> 显然这不起作用,因为我不能在Experssion树内做任务。

我实际想要实现的是在调用Start方法时模拟提升计时器事件。通过这种方式,我可以断言对Start的调用确实发生了。

任何(替代)想法?

编辑我是个白痴,错误是我自己的!我不小心添加了额外的A.CallTo,我不应该这样做。我没有删除这个问题,而是将其授予Patrik Hägne他的合法声誉:)

1 个答案:

答案 0 :(得分:8)

我不确定你要做什么,是这个吗???

A.CallTo(() => fakeTimer.Start()).Invokes(() => 
    fakeTimer.Elapsed += Raise.With<ElapsedEventArgs>(ElapsedEventArgs.Empty).Now);