У меня есть приложение Web API в Core 2.2 .NET 2.2, я должен написать автоматический тест для этого приложения, используя XUNIT. Приложение включает в себя инъекцию зависимости на двухуровневом WEP API => Сервисный слой => Слой репозитория.

Можете ли вы предложить идеальный подход к записи этих тестов, которые включают в себя издевающийся контекст базы данных?

0
Tushar 26 Сен 2019 в 13:16

1 ответ

Лучший ответ

Тест подразделения должен когда-либо использовать только немедленный уровень зависимости . Например, если вы тестировали контроллер, вы будете высмеивать сервис. Если вы тестировали службу, вы помните о репозитории, и если вы проверяли репозиторий, вы их высмеиваете контекст (или, скорее всего, просто используйте базу данных в памяти, если используйте базу данных EF).

Другими словами, вы не создаете слои издевателей. Макель должен полностью абстрактный функционал. Для примера контроллера вы можете издеваться на службу, чтобы просто вернуть некоторое консервированное значение. Служба Mock на самом деле не будет использовать любой репозиторий.

1
Chris Pratt 26 Сен 2019 в 13:43