我正在尝试使用MOQ模拟方法调用。 Method接受一个字符串,两个对象引用数组参数。
方法定义:
bool method1(string string1, ref object[] objectArray, ref object[] objectArray);
MOQ设置:
var sampleArray = new object[1] { "test" };
interfaceObject.Setup(m => m.method1(It.IsAny<string>(), ref sampleArray, ref sampleArray)).Returns(true);
当我尝试将ref对象模拟为参数时,我正在获得所需的输出。
但是当我试图将ref数组对象作为参数进行模拟时,它不起作用,并且它不会抛出任何错误。
有人可以帮我理解模拟ref数组对象参数的问题。
答案 0 :(得分:1)
试试Typemock Isolator。它是一个非常强大的单元测试框架。他们对ref和para params没有任何限制。甚至没有谈到这样一个事实,即你可以伪造更多的公共虚拟方法。
答案 1 :(得分:0)
几年前,我遇到了类似的问题,发现在设置ref和out参数的方法时,Moq有一些限制。那时我不得不切换到RhinoMocks。