我需要对使用HttpRequestHeaders作为参数的类进行单元测试。
public HeaderValueProvider(HttpRequestHeaders headers)
{
_headers = headers;
}
我需要对使用HttpRequestHeaders作为参数的类进行单元测试。
public HeaderValueProvider(HttpRequestHeaders headers)
{
_headers = headers;
}
HttpRequestHeaders
只有内部构造函数。
但您可以通过创建 HttpRequestMessage
对象来实现:
using var headers = new HttpRequestMessage().Headers;
HttpRequestHeaders
实例:var headers = new HttpClient().DefaultRequestHeaders;
Activator
。有一个特殊的参数nonPublic
,用于Activator.CreateInstance
。
nonPublic:如果可以匹配公共或非公共的无参数构造函数,则为true;如果只能匹配公共的无参数构造函数,则为false。
以下是此方法的示例:
var headers = (HttpRequestHeaders)Activator.CreateInstance(typeof(HttpRequestHeaders), nonPublic: true);
HttpClient
的解决方案会更好。请注意,HttpRequestMessage
是可处理的,因此您可能需要将其放在using
块中。 - Timousing var headers = new HttpRequestMessage().Headers;
- wolszakpHttpRequestMessage
。你确定它会做你想要的吗?也许有些我不知道的魔法…… - Timousing var message = new HttpRequestMessage(); var headers = message.Headers;
- wolszakp