#c# #rest #entity-framework-core #moq
Вопрос:
Приведенное ниже не приводит к сбою MockBehavior.Loose
( т. Е. Настройка не требуется )
void IContentDataStore.Update<T>(T entity)
{
GetDbSet<T>().Update(entity);
}
[Test]
...
ContentStoreMock.Verify(repo => repo.Update(existingRequest), Times.Never );
Для MockBehavior.Strict
определенных настроек требуется.
Какой была бы любая настройка, если бы эта проверка вообще имела смысл ? Уже есть expectedStatusCode: HttpStatusCode.BadRequest
и определенная Assert.That
строка ожидаемого результата.
Комментарии:
1. Не могли бы вы, пожалуйста, поделиться с нами
GetDbSet
методом и всем тестом?
Ответ №1:
В моем случае даже для MockBehavior.Strict
настройки не требовалось, потому что Проверка была чисто для Times.Never
( т. Е. Обновления не произошло )
Соответствующий метод Rest Put возвращает BadRequest, прежде чем делать что-либо еще.
Проверьте себя Update_Should_ReturnBadRequest_When_NameIsInvalid()
Приведенное ниже изменение позволило пройти тест:
ContentStoreMock.Verify(repo => repo.Update(It.IsAny<MonitoringRequest>()), Times.Never);