我使用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())

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top