Несколько Moq It.Is () Matching Arguments

Допустимо ли с 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 по умолчанию использует второй оператор, а не оценивает каждый по отдельности.

67
задан Ash 31 August 2016 в 06:01
поделиться