2017-09-07 1 views
2

この記事はOWINを使用してテストするためのメモリで全体のWeb APIスタックをホストする方法を示しています。なぜOWIN TestServerを使用しますか?

www.davidwhitney.co.uk/Blog/2015/01/07/testing-an-asp-net-webapi-アプリ・イン・メモリ/

この記事は、ユニットテストコントローラにOWIN TESTSERVERを用いて示すのに対し:

http://www.juliencorioland.net/archives/using-owin-to-test-your-web-api-controllers#.WbDSHdjTWaM

なるほど差がTestServer.CreateとWebApp.Start

の使用の間であります

主な違いは何ですか?なぜ、あなたは他のものを選ぶでしょうか?

単体テストコントローラのメソッドとweb api呼び出しの違いとメモリ内のエンドツーエンドの統合テストの違いは何ですか?

+0

私はマイクロサービスソリューションを設計しようとしていますが、同じ質問については疑問に思っています。 – ironic

+0

いいえ、私は、私は恐れていませんでした。 –

答えて

0

TestServer.Create<Startup>()を実行すると、スタートアップファイルを使用してメモリ内のインスタンスだけが起動します。 TestServerの内部にあるHttpClientは、メモリ内の統合テストには十分です。 1つのプロセス内にすべてのテストサーバーを開始しているので、これには制限はありません(現在4つのテストサーバーが一緒に実行されています)。

WebApp.Start<Startup>(Settings.WebApiUrl) - あなたが提供するURLでWebアプリケーションを起動します。また、オプションを受け入れる別のオーバーロードがあります:URLと設定の両方。 このオプションは特定のケースでのみ使用しています。以下のような:SignalRクライアント用のURLをホスティング

  1. - それは
  2. 契約ベースのテストを実行することができURL、 せずに動作しません - 契約の検証を提供 側に。これは、開始されたWebAppを介してのみ行うこともできます。 (Pact.Netを使用して を使用しています)
関連する問題