Настройка интеграционных тестов - PullRequest
0 голосов
/ 14 января 2019

У меня есть основной проект asp.net с DAL> Repos> Сервисы> Web API (контроллеры).

Я хочу реализовать интеграционные тесты, в которых я хочу протестировать объект через все уровни + экземпляр базы данных.

Я пытаюсь найти наименее навязчивый способ его настройки. После долгих чтений я придумал:

  1. создание отдельного экземпляра БД (testDatabase) на компьютере (локальном или на сервере), где env = "Testing"
  2. есть appsettings.Testing.json, где я определяю db: "testDatabase" в отличие от appsettings.json, где у меня есть db: "productionDatabase")
  3. у меня есть ключи db в переменных env (или хранилище ключей)
  4. при выполнении моих тестов я установил UseEnvironment("Testing")

Таким образом, мне не нужны никакие дополнительные настройки в реальном тестовом проекте, не нужно издеваться над моими репозиториями с помощью _textDBContext и т. Д ... просто переключите среду и запустите ее.

Во время чтения я натолкнулся на несколько довольно сложных установок с множеством вещей в самом тестовом проекте (создание репозиториев с тестом dbContext, отдельные Startup и т. Д.), Которые направлены на решение той же проблемы. , По сравнению с этим, моя установка кажется смехотворно простой, что заставляет меня задуматься:

Я что-то упустил? Есть ли проблемы с этой настройкой?

(я использую xUnit, но это не должно иметь значения)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...