在像这样的命令中
var mockObj = new Mock<MyObject>()
var anotherObj = Utilities.DoStuff();
// some tests...
mockObj.Verify(foo => foo.someMethod(anotherObj));
Run Code Online (Sandbox Code Playgroud)
Moq是否使用身份比较或使用.Equals()来确定是否someMethod()曾将其anotherObj作为参数调用?换句话说,我指示的对象是否foo.someMethod()必须someMethod()是先前为验证通过而调用的完全相同的对象,或者它只需要是一个等于的对象anotherObj?
Bas*_*nni 16
Moq将通过标识进行比较,它将查找您使用标识指定的确切实例.如果这不是你想要的,而你正在寻找equals比较,你可以使用It.Is:
mockObj.Verify(foo => foo.someMethod(It.Is<MyObject>(m => m.Equals(anotherObj))));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2361 次 |
| 最近记录: |