7

TypeMock Islolatorを使わずにできますか? メタデータのみの接続文字列を渡すなど、オンラインでいくつかの提案を見つけましたが、TypeMock 以外に遭遇したものは何もなく、単体テストのためにサービスに注入できるモック ObjectContext を本当に許可しているようです。TypeMock の $$ を下げる必要がありますか、それとも代替手段はありますか? オープンソースの TypeMock に匹敵するものを作成できた人はいませんか?

4

4 に答える 4

4

私は嘲笑せずにEF4を簡単に単体テストしています。私がしたことは、http://elegantcode.com/2009/12/15/entity-framework-ef4-generic-repository-and-unit-of-work-prototype/のコードをベースとしてリポジトリ インターフェイスを作成することでした。次に、インターフェイスInMemoryRepository<T>を使用するクラスを作成しました。次に、をクラスの内部にIRepository置き換え、それに応じて取得メソッドを変更しました。IObjectSet<T>List<T>

したがって、単体テストを行う必要がある場合は、DataRepository ではなく InMemoryRepository を渡します。

于 2010-05-21T17:57:32.650 に答える
3

Linq2Entity クエリをインターフェイスの背後に配置し、実際のデータベースに対して分離して単体テストを行います。

クエリ インターフェイスのモックを使用して、ビジネス ロジックのテストを記述します。ビジネス ロジックに Linq が入り込まないようにしてください。

RepositoryPattern を使用しないでください。

于 2010-11-17T22:23:58.347 に答える
1

ObjectContext をプロキシ クラスにラップします。次に、それをクラスに注入します。

于 2010-04-24T04:05:48.577 に答える
0

リポジトリ パターンが質問に対する唯一の答えだとは思いません (確かに、問題は回避されます)。

この回答が気に入りました-既存のコードベースにテストを導入する方が適切だと思います ObjectContext のインターフェイスの作成

于 2012-07-10T00:04:23.630 に答える