在集成测试后重置实体框架代码第一个数据库

时间:2012-12-09 21:13:37

标签: entity-framework integration-testing code-first

在我的集成测试中,我可以运行此

    [ClassInitialize()]
    public static void MyClassInitialize(TestContext testContext)
    {
        SeedDb.Init(); //static method that initializes db and seeds with data  
       //public class SeedData : DropCreateDatabaseAlways<MyContext>
    }

但在类清理中运行相同的代码不会出错,但也不会重置数据库。数据库中的数据是集成测试留下的数据。

    [ClassCleanup]
    public static void MyClassTearDown()
    {
        SeedDb.Init();
    }

我可以在清理方法中删除数据库,但是对SeedDb.Init()的调用失败。

    Database.Delete(DbConnectionString); //this does delete the database

我在集成测试中处理上下文。是否有一种模式允许在类清理方法中进行codefirst重置?

0 个答案:

没有答案