Подтвердить что ты не робот

Использование Moq.It.IsAny для проверки строки начинается с чего-то

Можно ли использовать Moq, чтобы сказать, что метод принимает строку, которая начинается с "ABC", например.

В качестве примера можно сделать следующее:

logger.Verify(x => x.WriteData(Moq.It.IsAny<string>().StartsWith("ABC")), Times.Exactly(3));

Это не скомпилируется, но, надеюсь, это иллюстрирует мою точку

4b9b3361

Ответ 1

попробовать:

logger.Verify(x => x.WriteData(Moq.It.Is<string>(str => str.StartsWith("ABC"))), Times.Exactly(3));

вы можете увидеть другой пример It.Is:

// matching Func<int>, lazy evaluated
mock.Setup(foo => foo.Add(It.Is<int>(i => i % 2 == 0))).Returns(true); 

который поступает из документации Moq: http://code.google.com/p/moq/wiki/QuickStart

Ответ 2

Попробуйте использовать:

Moq.It.Is<string>(x => x.StartsWith("ABC"))