5

私のプロジェクトでは、私のASP.NET MVCアプリケーションを簡単に単体テストするためにリポジトリパターンに従います。これにより、オブジェクトを簡単にモックすることができます。DbContextを使用するリポジトリをテストする最良の方法

しかし、私はこの方法でリポジトリロジックを全くテストしていません。

例えば、以下のブログ記事を参照してください。

How to Work With Generic Repositories on ASP.NET MVC and Unit Testing Them By Mocking

これは私が何をすべきかで、どのように私は私のASP.NET MVCアプリケーションをテストします。

DbContextクラスを使用してデータを取得するリポジトリをテストするにはどうすればよいでしょうか?

  • データベースから直接データを取得していますか? (私はこれが最悪になると思うが、あなたの思考を疑問に思う)
  • 私は偽のデータベースを作成し、そのデータベースに接続するためにダミーデータとポイントEFで記入する必要がありますか?

その他の方法をお勧めします。

EDIT:

私はここにEF 4.2を使用しています。

答えて

7

リポジトリはデータベースへのエントリポイントであるため、テストする唯一の方法は、統合テストを使用してテストデータベースで作業することです。トランザクションテストを使用すると、テストの最後に各テストでトランザクションとロールバックを設定し、すべてのテストでテストデータを同じに保つことができます。

+1

が表示されます。したがって、唯一の方法は、データベース構造を複製し、偽のデータでシードし、テストプロジェクトでそのデータベースを使用するようにEFをポイントすることです。私はそれを得ましたか? – tugberk

+2

はい。それは、リポジトリをテストするための正しいアプローチです。 –

関連する問題