EF Code-first SetInitializer не создает заново базу данных в настройке NUnit TextFixture - PullRequest
0 голосов
/ 17 марта 2011

Я вызываю следующее для моей модели кода EF в начале моего текстового фиксатора NUnit.

    [TestFixtureSetUp]
    public void Init()
    {
       DbDatabase.SetInitializer(
                    new MyDbInitialiser());
...

    }

MyDbInitialiser наследуется от DropCreateDatabaseAlways<MyDatabaseContext>

Почему NUnitтестовое устройство запускает инициализатор только один раз, даже когда я перезапускаю весь тестовый тест?*

Ответы [ 3 ]

0 голосов
/ 17 марта 2011

Я не знаком с EF, но есть ли метод, который вы могли бы вызвать в TestFixtureTearDown для очистки после выполнения тестов?Это может гарантировать, что при повторном запуске тестов все настройки будут выполнены снова (в отличие от сохранения чего-либо в кэше)

0 голосов
/ 26 апреля 2011

В базе данных класса есть такие методы, как Delete, Create, Initialize.Я думаю, что вы можете позвонить им самим, чтобы добиться того, чего вы хотите.

0 голосов
/ 17 марта 2011

Попробуйте вместо этого использовать атрибут [Setup]. Любой метод, отмеченный этим атрибутом, будет вызываться перед каждым [Test].

http://www.nunit.org/index.php?p=setup&r=2.2.10

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...