当设置Mock对象以返回特定值而不管输入参数时,我当前必须有效地写出完整的签名,例如
Mock.Get(myThing).Setup(x => x.DoThing(It.IsAny<Int32>(), It.IsAny<String>(), It.IsAny<IEnumerable<Boolean>>())).Returns(false)
如果有多个输入参数并且我不关心它们中的任何一个,这有点单调乏味,那么我有没有办法说It.IsAnyForAllInputParameters()?
答案 0 :(得分:1)
正如Bernhard Hiller在评论中指出的那样,如果可行,那么moq应该知道如何设置所有具有相同名称的方法。这应该不是问题,除非它们有不同的返回类型:
void Sum(int a, int b, ref int result)
{
result = a + b;
}
int Sum(int a, int b)
{
return a + b;
}
然后,如果您想要设置Sum
方法返回值10,那么moq应如何继续第一个Sum
方法?