如何使用NSubstitute获取被调用的参数? (或者至少断言他们的财产)

时间:2017-02-09 22:57:04

标签: c# unit-testing mocking nsubstitute

上下文

我想检查一个参数属性值是否是我使用单个参数调用substite方法时的预期值。

然后,将实例作为参数是最简单的 根据预期检查一些属性。

我已经检查了页面http://nsubstitute.github.io/help/received-calls/,但我既没有找到如何获取实际参数,也没有找到这样的检查条件。

问题

var sut = new MyObject(myNSubstitue)
sut.Execute()
// Let suppose mySubstitute has an OperationX(MyClass parameter) method
// Now I would like to check OperationX was called, and called with
// a parameter which's parameter.MyPropery == "Hello"

错过了什么?

1 个答案:

答案 0 :(得分:4)

使用Received()断言和argument matching来检查传递给OperationX的MyClass的属性:

mySubstitute.Received().OperationX(Arg.Is<MyClass>(mc => mc.MyProperty == "Hello"));