有没有指定任何作为参数传递给NUnit的嘲弄期望调用的方法吗?
-
19-09-2019 - |
题
我使用NUnit的嘲笑,并希望指定我期待有一个呼叫,但没有说的论据是什么,例如:
mock.ExpectAndReturn("Equals", true, ANY_ARGUMENT);
显然填补正确的语法,而不是ANY_ARGUMENT。
有没有办法做到这一点?
如果我指定没有参数 - NUnit的测试失败,因为它预期0论点,但接收到的1
解决方案
在反射望着nunit.mocks.dll的2.5.2版本,它不会出现有,做你正在寻找一种方法。 NUnit的是开源的,所以一种选择是获得代码,并添加该功能。
其他提示
是存在NUnit的嘲笑一个这样的功能。
代替ExpectAndReturn使用SetReturnValue的。第一个功能,因为它的名字告诉你,你指定输入对象,并返回对象。最后功能只需指定一个返回对象的特定的功能。
使用:interfaceMock.SetReturnValue("SomeRetrunFunction", someReturnFunction);
你试过:
mock.SetReturnValue(true);
mock.Expect("Equals");
您可以实现任何接受的IResolveConstraint一个新的实例,并使用它作为您的测试参数。 NUnit的治疗IResolveConstraint的实例不同于任何其他对象,使用Assert.That,代替Assert.AreEqual来验证它的正确性。
例如
myMock.ExpectAndReturn( “mockedMethod”,参数1,新AcceptsAnythingConstraint())
不隶属于 StackOverflow