4

我正在尝试按照以下方式做一些事情:

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

fakeTimer是一个假的ITimer,每个这个答案的包装接口。

显然这是行不通的,因为我不能在Expersion Tree 中进行分配。

我实际上想要实现的是Start在调用该方法时模拟引发计时器事件。这样我就可以断言Start确实发生了调用。

任何(替代)想法?

编辑我是个白痴,错在我自己!我不小心添加了一个额外的A.CallTo,我不应该添加的。我不会删除这个问题,而是保留它以授予Patrik Hägne应有的声誉 :)

4

1 回答 1

8

我不太确定你想做什么,是这样吗???

A.CallTo(() => fakeTimer.Start()).Invokes(() => 
    fakeTimer.Elapsed += Raise.With<ElapsedEventArgs>(ElapsedEventArgs.Empty).Now);
于 2012-07-25T09:30:41.577 回答