【发布时间】:2013-03-23 14:59:17
【问题描述】:
我有一个单元测试,它通过传入HttpRequestMessage 实例并接收HttpResponseMessages 实例返回来调用类库。在这方面,它与测试 WebApi ApiController 非常相似。
我正在测试的代码将 cookie 添加到 HttpResponseMessage,并希望在随后传入的 HttpRequestMessage 调用中看到这些 cookie,这就是浏览器(或 HttpWebRequest)的行为方式。
我没有使用HttpClientHandler,因为请求实际上并没有在网络上进行,而是使用我初始化HttpClient 的模拟HttpMessageHandler 传递给产品。因此我无法访问HttpClientHandler 中的 cookie 处理。看来,要获得我需要的 cookie 行为,我将不得不手动解析 HttpResponseMessage 中的 cookie,然后手动将它们序列化为 HttpRequestMessage。这也完全忽略了 CookieContainer 将 cookie 正确应用于正确请求的逻辑。
有没有更简单的方法?
【问题讨论】:
标签: mocking httpcookie dotnet-httpclient