2017-09-06 90 views
0

请参考下面的代码。在接口即使参数计数正确,参数不匹配异常

方法签名

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()); 

这将引发

参数计数不匹配。 异常。如何解决这个问题。

回答

2

你有GetParty(int param1, int param2, int param3)与3个参数,但在Returns通话使用的是唯一的一个。改成这样的东西

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