如何执行内存中HttpClientHandler的测试 [英] How to perform in-memory test of HttpClientHandler
本文介绍了如何执行内存中HttpClientHandler的测试的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我直接传递的HttpServer
实例的HttpClient
写一些内存集成测试。我怎么能还连线了 HttpClientHandler
?
建立CTX =()=>
{
无功配置=新HttpConfiguration();
config.Routes.MapHttpRoute(名称:默认,routeTemplate:API / {}控制器/(编号),默认值为:新{控制器=值,ID = RouteParameter.Optional});
config.MessageHandlers.Add(新的COM pressionHandler()); VAR服务器=新的HttpServer(配置)
{
InnerHandler =新DECOM pressionHandler()
};
客户端=新的HttpClient(服务器);
};
解决方案
有关测试客户端处理程序,我不得不实际设置的HttpServer
为内处理程序:
VAR服务器=新的HttpServer(配置);VAR处理器=新DECOM pressionHandler
{
InnerHandler =服务器
};客户端=新的HttpClient(处理);
I'm writing some in-memory integration tests by passing a HttpServer
instance directly to HttpClient
. How can I also wire up a HttpClientHandler
?
Establish ctx = () =>
{
var config = new HttpConfiguration();
config.Routes.MapHttpRoute(name: "Default", routeTemplate: "api/{controller}/{id}", defaults: new { controller = "values", id = RouteParameter.Optional });
config.MessageHandlers.Add(new CompressionHandler());
var server = new HttpServer(config)
{
InnerHandler = new DecompressionHandler()
};
client = new HttpClient(server);
};
解决方案
For testing a client handler I had to actually set the HttpServer
as the inner handler:
var server = new HttpServer(config);
var handler = new DecompressionHandler
{
InnerHandler = server
};
client = new HttpClient(handler);
这篇关于如何执行内存中HttpClientHandler的测试的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文