Moq方法安装,无需指定参数列表

时间:2016-08-05 09:21:48

标签: c# unit-testing moq

当设置Mock对象以返回特定值而不管输入参数时,我当前必须有效地写出完整的签名,例如

Mock.Get(myThing).Setup(x => x.DoThing(It.IsAny<Int32>(), It.IsAny<String>(), It.IsAny<IEnumerable<Boolean>>())).Returns(false)

如果有多个输入参数并且我不关心它们中的任何一个,这有点单调乏味,那么我有没有办法说It.IsAnyForAllInputParameters()?

1 个答案:

答案 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方法?