对于 Moq,有多个匹配参数是否有效?
It.Is<string>()
在这个示例中,我希望知识库服务根据用户提供的信息返回一个不同的 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 默认使用第二个语句,而不是根据每个语句的优点进行评估。