2012-08-13 23 views
5

APIControllerでのテストで、統合テストとユニットテストはどのように関係していますか?統合テストでWebリクエストを作成しながらリポジトリを模擬して、データベースに実際のクエリを作成しないようにするにはどうすればよいですか?統合テストとユニットテスト(WEB API mvc 4)

答えて

5

Self Hosting機能を使用してコントローラを起動し、OpenAsync().ContinueWith(t => { /* ... */ })機能を使用してテストを実行できます。 Configuration.DependencyResolverをオーバーライドして、IHttpControllerActivatorを上書きして、独自のモック実装を指定できるようにします(たとえば、Ninjectを使用してモック実装で既にバインドされている特定のコントローラを取得できます)。

+3

ここで完全な例を見つけてください:http://www.jefclaes.be/2012/07/should-i-unit-or-integration-test-my.html – JefClaes

+1

@JefClaesあなたの記事は最も便利です! MVC Web APIを使用してWebサーバーを起動せずにエンドツーエンドのテスト全体を実行する方法を示した例とすべてを示します。非常に素晴らしい。 – Brain2000

関連する問題