Я пишу тесты для моего пользовательского интерфейса, используя Specflow. Некоторые тесты изменяют мою базу данных, поэтому я не могу перезапустить некоторые тесты. Поскольку я использую EF, я решил просто удалить свою базу данных (потому что EF создаст новую и загрузит ее). Пока я выполняю свои тесты, мой MVC проект открыт. Я пытался удалить свою базу данных с помощью этого кода:
[BeforeFeature]
public static void DropDatabase()
{
Database.Delete("SampleDbName");
}
Но проблема в том, что я получаю Невозможно удалить базу данных, потому что она в настоящее время используется. Затем я попробовал два решения:
Добавить пул = false в строку моих подключений
Call SqlConnection.ClearAllPools (); перед удалением моей базы данных
Оба случая не работали для меня, потому что я получаю сообщение об ошибке «не могу прикрепить файл .mdf как базу данных» каждый раз, когда пытаюсь получить доступ к своей базе данных (это происходит после удаления моей базы данных).
Моя цель - сделать мои тесты перезапускаемыми без перезапуска моего MVC проекта. Есть какие-то решения для решения этой проблемы?