【发布时间】:2015-03-11 15:49:24
【问题描述】:
我是 NSubtitute 的新手,我很困惑为什么下面的测试用例会失败。
public class IFoo {
public void SayHello(string to)
{
Console.writeLine("Method called");
}
}
[Test]
public void SayHello() {
var counter = 0;
var foo = Substitute.For<IFoo>();
foo.When(x => x.SayHello("World"))
.Do(x => counter++);
foo.SayHello("World");
foo.SayHello("World");
Assert.AreEqual(2, counter);
}
它适用于以下代码。唯一的区别是回调类中的方法(上例)和接口中的方法(下例)。
public interface IFoo {
void SayHello(string to);
}
[Test]
public void SayHello() {
var counter = 0;
var foo = Substitute.For<IFoo>();
foo.When(x => x.SayHello("World"))
.Do(x => counter++);
foo.SayHello("World");
foo.SayHello("World");
Assert.AreEqual(2, counter);
}
【问题讨论】:
标签: c# mocking nsubstitute