私の統合テストでは、これを実行できます
[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 のリセットを許可するパターンはありますか?