最小起订量设置抛出异常

Moq setup throw exception

我正在设置最小起订量:

mockCommand.Setup(foo => foo.Post<Foo, Response>(It.IsAny<Foo>()))
    .Returns((Foo m) =>
    {
        if (m . . . .)
        {
            return new <Response>()
            {
                <...>
            };
        }
        else
        {
            return new <Response>()
            {
                <...>
            };
        }
    });

但我得到一个例外:

System.ArgumentException : Invalid callback. Setup on method with 2 parameter(s) cannot invoke callback with different number of parameters (1).

泛型方法定义为:

TResponse Post<TRequest, TResponse>(TRequest request, params string[] query)

我唯一能想到的是,由于我有条件地返回响应,所以它以某种方式混淆了起订量,因此它抛出了异常。想法?

异常指出设置和 Returns 回调委托中省略了参数。

包括被模拟成员的所有参数

mockCommand
    .Setup(foo => foo.Post<Foo, Response>(It.IsAny<Foo>(), It.IsAny<string[]>()))
    .Returns((Foo m, string[] q) => {
        //...omitted for brevity
    });