使用Moq,拥有多个匹配参数是否有效?
It.Is<string>()
在此示例中,我希望mockMembershipService返回一个不同的ProviderUserKey,具体取决于提供的用户。
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");
SetUp默认为第二条语句,而不是根据各自的价值进行评估。