Я играю с MVC2, Entity Framework и CTP4, используя только постоянство кода.Я создал несколько модульных тестов в MSUnit для своих доменных объектов, в том числе некоторые, чтобы увидеть, как постоянство работает в этой парадигме.Я использую Sql Server CE 4.0 для этих тестов.Это работает нормально, за исключением одной проблемы ... кажется, что данные сохраняются между тестами в одном классе.
У меня есть предыдущий опыт использования Java, Hibernate Annotations и HSQLDB, и в этом случае создается БДснесены при каждом выполнении теста.Однако в SqlCompact у меня есть пара тестов, в которых используется один и тот же тестовый набор данных, и в результате я получаю нарушения ограничений, если я выполню их оба.
Я могу исправить это с помощью некоторых хаков для явного удаления таблиц / удаления данных в пределах [TestCleanup]
, но как правильно обеспечить запуск новой БД для каждого теста при использовании SQL Compact в этом случае?Я уверен, что ответ прост, но я не могу найти его нигде.Спасибо.
РЕДАКТИРОВАТЬ: В настоящее время я делаю это, что работает, но мне это не нравится.Лучшие идеи приветствуются:
[TestCleanup]
public void teardown()
{
mgr.Database.DeleteIfExists();
mgr.Database.Create();
}