有没有简单的方法来得到一个访问CookieContainer
的response
对象中运行集成测试用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"]);
Run Code Online (Sandbox Code Playgroud)
我看到的解决方案是扩展TestServer的实例,返回类的实例CustomClientHandler : ClientHandler
并覆盖在该处理程序中发送请求的整个过程,但除了相对较小的TestServer代码之外,它还需要改变所有逻辑.
有没有更好的建议如何在响应中实现对Cookie的访问?