Написание интеграционного теста для Entity Framework

У нас есть огромное приложение, которое содержит

  • Веб-уровень — MVC
  • Сервисный уровень — веб-API
  • Слой домена
  • Уровень БД — сначала код EF 5

мы написали сотни модульных тестов, чтобы избежать дальнейших проблем. Теперь мы хотим написать интеграционные тесты для базы данных.

До сих пор мы использовали xUnit для модульных тестов. Но я не мог быть уверен, как мы можем двигаться дальше, и у меня есть несколько вопросов.

  1. Вы предлагаете написать один подход к интеграционному тесту «Сверху вниз». Итак, написание тестового метода, который использует действие MVC, которое проходит через все уровни и влияет на базу данных, или разделение на части, такие как Web-API, API-DB?
  2. Я искал xUnit о Fixtures, но не смог найти пример использования IUseFixture против Entity Framework.
  3. Мы используем миграцию Code First, поэтому я думаю, что инициализировать базу данных будет легко, потому что все файлы миграции в наших руках. Но как я могу использовать их для создания тестовой базы данных?
  4. Наша команда состоит из нескольких разработчиков, поэтому важно изолировать каждого из них. Я могу использовать для этого сервер базы данных разработки или локальную базу данных, но опять же я не смог найти способ изменить строку подключения в соответствии с пользователем.

Не сейчас, а в ближайшем будущем мы собираемся запустить эти тесты со сборками TFS 2012.


person bahadir arslan    schedule 17.04.2013    source источник


Ответы (1)


Вы должны попробовать усилие

http://effort.codeplex.com/

Он предоставляет базу данных в памяти для Entity Framework, предоставляя специальное соединение при создании вашего DbContext.

Он также может заполнять базу данных данными из файлов CSV.

person andres.chort    schedule 27.10.2013