Автоматическое модульное тестирование с использованием Xunit для .net core 2.2 web API - PullRequest
0 голосов
/ 26 сентября 2019

У меня есть сборка приложения Web API в .net core 2.2, я должен написать автоматический тест для этого приложения с использованием Xunit.Приложение включает внедрение зависимостей на двух уровнях Wep API => Сервисный уровень => Уровень репозитория.

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

1 Ответ

0 голосов
/ 26 сентября 2019

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

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

...