2017-09-06 1 views
0

Bitte beachten Sie den folgenden Code.Parameter-Mismatch-Ausnahme, auch wenn die Parameteranzahl korrekt ist

Methode Signatur in der Schnittstelle

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

Prüfnorm

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

Testprojekt Konstruktor

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

Dies wirft

Parameteranzahl stimmt nicht überein. Ausnahme. Wie man dieses Problem löst.

Antwort

2

Sie haben GetParty(int param1, int param2, int param3) mit 3 Parametern, aber in Returns Anruf Sie verwenden nur einen. Ändern Sie es in so etwas wie

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