私はさまざまなビデオを見たり、リポジトリの単体テストに関するさまざまなブログを読んだりしています。
最も一般的なパターンは、本物と同じインターフェースを実装する偽のリポジトリを作成することです。次に、偽物は内部辞書または何かを使用します。
したがって、実際には、本番環境には決して入らない偽のリポジトリのロジックを単体テストしています。
これで、依存性注入を使用して、IDBContext インターフェイスを使用してモック DBContext を注入できます。ただし、実際にはdbcontext(モックされている)に転送する各リポジトリメソッドをテストしているだけです。
各リポジトリ メソッドが dbcontext を呼び出す前に多くのロジックを持っていない限り、それは少し無意味に思えますか?
テストを統合テストとしてリポジトリに置いて、実際にデータベースにヒットさせる方が良いと思いますか?
新しい EF 4.1 では、テスト プロジェクトの接続文字列に基づいてオンザフライでデータベースを作成できるため、これが簡単になり、dbcontext.Database メソッドを使用してテストを実行した後にデータベースを削除できます。