我正在尝试按照以下方式做一些事情:
A.CallTo(() => fakeTimer.Start()).Invokes(() =>
fakeTimer.Elapsed += Raise.With<ElapsedEventArgs>(ElapsedEventArgs.Empty).Now);
这fakeTimer
是一个假的ITimer
,每个这个答案的包装接口。
显然这是行不通的,因为我不能在Expersion Tree 中进行分配。
我实际上想要实现的是Start
在调用该方法时模拟引发计时器事件。这样我就可以断言Start
确实发生了调用。
任何(替代)想法?
编辑我是个白痴,错在我自己!我不小心添加了一个额外的A.CallTo
,我不应该添加的。我不会删除这个问题,而是保留它以授予Patrik Hägne应有的声誉 :)