С помощью Moq можно проверить, что метод никогда не вызывается с определенными аргументами (то есть аргументами, удовлетворяющими определенным предикатам), используя Times.Never
.
Но как проверитьчто, независимо от того, сколько раз вызывается метод, он всегда вызывается с определенными аргументами?
По умолчанию это Times.AtLeastOnce
.
НетTimes.Always
.Я что-то упускаю из виду?Спасибо!
Редактировать. На прошлой неделе я разместил предложение в списке рассылки Moq, но, похоже, его еще не модерировали.Я буду публиковать любые обновления здесь.
Редактировать: пример.Скажем, я тестирую класс, который генерирует XML-документы.Я хочу убедиться, что генерируются только действительные документы.Другими словами, проверьте, чтобы зависимость писателя была только когда-либо при наличии правильных документов с действительным порядковым номером для записи.
should_only_write_valid_xml_documents
Mock.Get(this.writer).Verify(
w => w.Write(
It.Is<XDocument>(doc => XsdValidator.IsValid(doc)),
It.Is<int>(n => n < 3)),
Times.Always);