Я пытаюсь написать тесты unit/integration для моего проекта ASP.NET Web API и изо всех сил пытаюсь запустить каждый тест. Позвольте мне объяснить.
У меня есть файл *.testsettings с настройками развертывания. Перед каждым тестовым запуском в тестовое место развертывается пустой файл *.mdf. Поскольку я использую Entity Framework Code First, я могу использовать инициализатор базы данных, чтобы подтолкнуть мою схему к базе данных и выровнять конкретную таблицу с двумя строками. Это отлично работает.
Проблема, с которой я сталкиваюсь, заключается в том, что различные тесты для всех моих действий ApiControllers могут наступать друг на друга, если они выполняются в неправильном порядке. Например, если я запускаю тест GET перед тестом POST, тогда GET возвращает 2 объекта, если они выполняются в обратном порядке, тогда GET возвращает 3 объекта.
Мне кажется, что мне нужно сделать, это сбросить, воссоздать и обновить мою базу данных до каждого теста. Это хорошая идея или есть лучший способ? Если это лучшее, что я могу сделать, я бы пошел на перезагрузку моей базы данных перед каждым тестом.