模拟对象设置可以返回两个想要的结果吗?

Pra*_*uka 5 c# unit-testing moq mocking

可以使用模拟对象返回多个所需的结果,如下所示?

mockObject.Setup(o => o.foo(It.IsAny<List<string>>())).Returns(fooBall);
mockObject.Setup(o => o.foo(It.IsAny<int>())).Returns(fooSquare);
Run Code Online (Sandbox Code Playgroud)

Ser*_*kiy 4

是的,您可以使用这些设置。因此,方法调用的参数foo是不同的(任何整数和任何字符串列表),这里有两种不同的设置,每个设置都有自己的返回值。如果您有相同的参数,则最后的设置将替换以前的设置。

请记住 - 每个设置都是由您调用的成员和您传递的参数定义的。