1

データ アクセスが関係する BLL の領域の統合テストを開始する必要があり、テスト データベース (日常の開発データベースとは別にする必要があります) を管理する最良の方法について疑問に思っています。このようなデータベースを手動で管理し、スキーマが変更されるたびに更新することを忘れないでください。

私のソリューションには、単体テスト プロジェクトと SQL Server データベース プロジェクトが含まれています。EF5 (データベース ファースト) を使用しているため、コンテキストを使用してデータベースを作成できます[TestInitialise]か? または、これは "コード ファースト" でのみサポートされますか? テスト実行を開始するときに、(どういうわけか) データベース プロジェクトの "公開" 機能を利用してテスト データベースを作成するのはどうですか? 他の提案はありますか?

4

1 に答える 1

0

テスト データベースまたはステージング データベースでトランザクションを使用できますか? 私はセットアップでトランザクションを開始することがよくあります。

     [SetUp]
        public void SetUp()
        {
            _transactionScope = new TransactionScope(TransactionScopeOption.RequiresNew);
        }

次に、ティアダウンで破棄します。

   [TearDown]
        public void TearDown()
        {
            _transactionScope.Dispose();
        }

場合によっては、これにより追加のデータベースの必要性が軽減されます。

于 2013-06-17T12:58:52.357 に答える