【问题标题】:Parameter mismatch exception even the parameter count is correct [duplicate]即使参数计数正确,参数不匹配异常[重复]
【发布时间】:2018-02-14 16:03:43
【问题描述】:

请参考以下代码。

接口中的方法签名

OrganizationVM GetParty(int param1, int param2, int param3);

测试方法

[TestMethod]
public void GetOrganizationByPartyRoleId()
    {
        int param1 = 1;int param2 = 1;int param3 = 1;
        OrganizationVM org = this.MockManager.GetParty(param1, param2, param3);
        Assert.IsNotNull(org);
    }

测试项目的构造函数

int partyId = 2;
mockPartyManager.Setup(mr => mr.GetParty(It.IsAny<int>(), It.IsAny<int>(), It.IsAny<int>())).Returns((int i) => organizationList.Where(x => x.partyID == i).Single());

这会抛出

参数计数不匹配。 例外。如何解决这个问题。

【问题讨论】:

    标签: c# unit-testing lambda moq


    【解决方案1】:

    你有GetParty(int param1, int param2, int param3) 3 个参数,但在Returns 调用中你只使用一个。改成这样的

    .Returns((int i, int j, int k) => organizationList.Where(x => x.partyID == i).Single());
    

    【讨论】:

      猜你喜欢
      • 2011-11-17
      • 1970-01-01
      • 2021-04-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-18
      • 2011-02-10
      相关资源
      最近更新 更多