При выборе для выполнения всех тестов, и есть логика в [TestInitialize] метод для удаления файла, что-нибудь после первого завершенного теста получает следующее сообщение об ошибке:C# MSTest - Удалить файл в TestInitialize
The process cannot access the file 'C:\root\var\MonRequestGeneratorTests.sqlite' because it is being used by another process..
Вот метод Initialize:
[TestInitialize]
public override void Initialize()
{
string sqliteFilePath = "myPath";
if (File.Exists(sqliteFilePath)) {
File.Delete(sqliteFilePath);
}
}
Как обойти это с тестами? Это база данных SQLite, и средством ее удаления является удаление файла. Мне нужно, чтобы файл был удален до запуска каждого теста.
Проблема заключается в том, что Entity Framework использует это, а контекст DB находится в используемом блоке. – blgrnboy
Это, похоже, еще одна проблема с Entity Framework: http://stackoverflow.com/questions/16979635/dbcontext-doesnt-release-sqlite-database – Gilthans