これは、コードの調査と作成に 3 日間を費やした結果です。私は EF Code First (EF5) と、その上に構築された汎用リポジトリ パターンを持っています。
今私は持っていICustomerRepository<Customer> : IRepository and
CustomerRepository : RepositoryBase<MyContext> , ICustomerRepository
ます。したがって、これをテストしようとすると、 A FakeDbContext 、 A Fake IDbSet を記述してから、データを Fake し、さらに多くのことを行う必要があることがわかりました。これはすべて、インメモリ データを使用して Linq to Objects をテストし、Linq to Entities には統合テストの形式で別のテスト スイートが必要であることがわかっている場合です。したがって、私のコード構造が間違っているために単体テストを書くのが非常に難しいか、私が知らないテストを書くためのより良い方法があるか、統合テストが必要です。NUnit と MOQ を使用しています。
編集:私がテストしようとしているのは何ですか?GetCustomersByType 、 Add 、 GetOrderPlacedByCustomer などのメソッドをチェックしようとしています。これらのメソッド内のロジックが正しいかどうかを確認しようとしています。これが単体テストの目的だと思います。