Ist es bei Moq gültig, mehr als ein Übereinstimmungsargument zu haben?
It.Is<string>()
In diesem Beispiel möchte ich, dass der mockMembershipService je nach angegebenem Benutzer einen anderen ProviderUserKey zurückgibt.
mockMembershipService.Setup(
x => x.GetUser(
It.Is<string>(
s => s.Contains("Joe")))
.ProviderUserKey)
.Returns("1234abcd");
mockMembershipService.Setup(
x => x.GetUser(
It.Is<string>(
s => s.Contains("Tracy")))
.ProviderUserKey)
.Returns("5678efgh");
Das SetUp verwendet standardmäßig die zweite Anweisung, anstatt jede für sich zu bewerten.