【发布时间】:2019-04-16 03:47:44
【问题描述】:
我有一个用 FakeItEasy v2.2.0 编写的单元测试。
test 测试一个方法,让它调用MethodA 调用MethodB。
简单类:
public class Foo
{
public virtual void MethodA()
{
MethodB();
}
public virtual void MethodB() { }
}
简单测试:
var foo_fake = A.Fake<Foo>(options => options.CallsBaseMethods());
foo_fake.MethodA();
A.CallTo(() => foo_fake.MethodA()).MustHaveHappened()
.Then(A.CallTo(() => foo_fake.MethodB()).MustHaveHappened());
使用 FakeItEasy 2.2.0,代码通过了。
但是当我们升级到5.1.0时,代码抛出异常说:
找到了调用,但调用中的顺序不正确
当我们说方法被调用?在执行开始时,还是在结束时?
或者,测试这个案例的正确方法是什么?
【问题讨论】:
标签: c# unit-testing fakeiteasy