Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 有没有办法指定任何东西作为NUnit Mocks Expect调用的参数?_C#_Nunit_Mocking_Nunit Mocks - Fatal编程技术网

C# 有没有办法指定任何东西作为NUnit Mocks Expect调用的参数?

C# 有没有办法指定任何东西作为NUnit Mocks Expect调用的参数?,c#,nunit,mocking,nunit-mocks,C#,Nunit,Mocking,Nunit Mocks,我正在使用NUnit mock,并希望指定我期望调用,但没有说明参数是什么,例如: mock.ExpectAndReturn("Equals", true, ANY_ARGUMENT); 显然,填写正确的语法而不是任何_参数 有办法做到这一点吗 如果我没有指定参数-NUnit会失败测试,因为它预期0个参数,但收到1个。查看Reflector中NUnit.mocks.dll的2.5.2版,似乎没有一个方法可以满足您的要求。NUnit是开源的,因此一个选项是获取代码并添加功能。您可以实现一个新的I

我正在使用NUnit mock,并希望指定我期望调用,但没有说明参数是什么,例如:

mock.ExpectAndReturn("Equals", true, ANY_ARGUMENT);
显然,填写正确的语法而不是任何_参数

有办法做到这一点吗


如果我没有指定参数-NUnit会失败测试,因为它预期0个参数,但收到1个。

查看Reflector中NUnit.mocks.dll的2.5.2版,似乎没有一个方法可以满足您的要求。NUnit是开源的,因此一个选项是获取代码并添加功能。

您可以实现一个新的IResolveConstraint实例,该实例接受任何内容,并将其用作测试中的参数。NUnit对待IRESOVERCONSTRAINT实例的方式与对待任何其他对象的方式不同,它使用Assert.That而不是Assert.AreEqual来验证其正确性

例如

myMock.ExpectAndReturn(“mockedMethod”,argument1,new AcceptsAnythingConstraint())

您尝试过:

mock.SetReturnValue(true);
mock.Expect("Equals");

是的,NUnit Mocks中有这样一个函数

使用SetReturnValue代替ExpectAndReturn。第一个函数,正如它的名称告诉您的那样,指定输入对象和返回对象。最后一个函数只是为特定函数指定一个返回对象

用法:
interfaceMock.SetReturnValue(“SomeRetrunFunction”,someReturnFunction)