我在NUnit Text Fixture的开头为我的EF代码优先模型调用以下内容。
[TestFixtureSetUp]
public void Init()
{
DbDatabase.SetInitializer(
new MyDbInitialiser());
...
}
MyDbInitialiser
继承自DropCreateDatabaseAlways<MyDatabaseContext>
为什么即使重新运行整个测试夹具,NUnit测试夹具也只运行一次初始化器?
如果我关闭NUnit跑步者并重新运行测试,数据库会丢弃并重新创建。
答案 0 :(得分:0)
请尝试使用[Setup]
属性。标记为此属性的任何方法都将在每个[Test]
之前调用。
答案 1 :(得分:0)
我不熟悉EF,但有没有一种方法可以在TestFixtureTearDown中调用,以便在运行测试后进行清理?这可能会保证当您第二次运行测试时,它将再次运行所有设置(而不是在缓存中保留某些内容)
答案 2 :(得分:0)
类Database包含Delete,Create,Initialize等方法。我想你可以自己打电话来实现你所追求的目标。