C# 参数不匹配异常,即使参数计数正确

C# 参数不匹配异常,即使参数计数正确,c#,unit-testing,lambda,moq,C#,Unit Testing,Lambda,Moq,请参考下面的代码 接口中的方法签名 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.Get

请参考下面的代码

接口中的方法签名

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());
int partyId=2;
mockPartyManager.Setup(mr=>mr.GetParty(It.IsAny(),It.IsAny(),It.IsAny()).Returns((int i)=>organizationList.Where(x=>x.partyID==i).Single());
这个扔

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

您有带有3个参数的
GetParty(int-param1、int-param2、int-param3)
,但在
返回中,您只使用了一个参数。把它改成这样

.Returns((int i, int j, int k) => organizationList.Where(x => x.partyID == i).Single());
您有带有3个参数的
GetParty(int-param1、int-param2、int-param3)
,但在
返回中,您只使用了一个参数。把它改成这样

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