AspNet.TestHost.TestServer
で統合テストを実行中のオブジェクトにアクセスする簡単な方法はありません。response
オブジェクトにアクセスする方法はありません。 Cookieは、コントローラのアクションによって設定する必要があります。それを達成する最善の方法は何ですか?私が見ASP.NET 5/MVC 6のAspNet.TestHost.TestServerコンテキストのユニットテスト内のCookieにアクセス
var client = TestServer.Create(app =>
{
app.UseMvc(routes =>
routes.MapRoute("default", "{controller}/{action}/{id?}"));
app.UseIdentity();
}).CreateClient();
var request = new HttpRequestMessage(HttpMethod.Get, "account/login");
var response = await client.SendAsync(request);
// how to get an access to cookie container ?????????
// response.Cookies prop doesn't exist
Assert.NotEmpty(response.Cookies["auth"]);
ソリューションは、TESTSERVERのインスタンスを拡張するクラスCustomClientHandler : ClientHandler
のインスタンスを返し、そのハンドラでリクエストを送信するプロセス全体をオーバーライドすることであるが、それは、比較的小さなコードを除くすべてのロジックを変更するには、文字通り必要がありますTestServerの
回答でCookieへのアクセスを実装する方法を教えてください。
潜在的な解決策へのリンクは常に歓迎しますが、[リンクの前後にコンテキストを追加する](// meta.stackoverflow.com/a/8259)ので、仲間のユーザーは、それが何であるか、それがなぜ。 **ターゲットサイトが到達不能であるか、または永続的にオフラインになる場合に、重要なリンクの最も関連性の高い部分を常に引用します。**外部サイトへのリンク以上であることを考慮すると、[理由と理由いくつかの回答はどのように削除されますか?](// stackoverflow.com/help/deleted-answers) – kayess
答えを自由に展開しても、私は正しい方向に向けるだけの時間がありました。あまりにも助けになったようだ。 – Tratcher