Moq - 参数不匹配

时间:2016-02-22 13:30:15

标签: moq

我想弄清楚为什么当我嘲笑我非常简单的界面时,我得到以下异常。

  

System.Reflection.TargetParameterCountException:参数计数   不匹配。

    var zoneLocator = new Mock<IZoneLocator<ZoneInfo>>();
    zoneLocator
        .Setup(zl => zl.GetZoneInfo(
            It.IsAny<double>(), It.IsAny<double>()))
        .Returns((ZoneInfo zoneInfo) =>
            Task.FromResult(zoneInfo));

    var z = zoneLocator.Object.GetZoneInfo(1, 1);

接口:

public interface IZoneLocator<T>
{
    Task<T> GetZoneInfo(double latitude, double longitude);
}

1 个答案:

答案 0 :(得分:5)

期望Returns的{​​{1}}的重载期望函数具有与模拟方法的输入相同的输入。这允许您根据方法的输入更改返回值。

因此,要解决此问题,请将您的设置更改为:

Func