Moq方法设置,无需指定参数列表

本文关键字:参数 列表 方法 设置 Moq | 更新日期: 2023-09-27 18:00:15

无论输入参数如何,当设置Moq对象以返回特定值时,我当前必须有效地写出完整签名,例如

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

如果有多个输入参数,而我不关心其中的任何一个,这会有点乏味,那么有没有一种方法可以说它。IsAnyForAllInputParameters()?

Moq方法设置,无需指定参数列表

正如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,那么第一个Sum方法的moq应该如何进行?