我有一个包含在标准.net类库中的自定义类,它使用HttpClient向外部面向公共的api发出请求。
当我实例化该类并通过标准的.net控制台应用程序调用该方法时,会返回预期的结果。
但是,通过Xuit测试执行相同的代码会产生以下异常:
'基础连接已关闭:发送时发生意外错误。'
无法从传输连接读取数据:远程主机强制关闭了现有连接。
测试项目和类库项目框架都是。净标准4.8。
大多数在线示例都使用WebApplicationFactory
here
。
在我的情况下,我没有使用ASP核心,我不能使用这个类。
我在xunit方面没有那么丰富的经验,错误消息中也没有太多关于为什么会发生这种情况的细节。
为了隔离这个问题,我尝试直接在测试方法中运行这段代码,但也出现了同样的错误。
如有任何建议/解决办法,不胜感激。
using (HttpClient httpClient = new HttpClient())
{
var request = new HttpRequestMessage()
{
Method = HttpMethod.Get,
RequestUri = endpoint
};
request.Headers.Add("api-key", key);
using (HttpResponseMessage response = httpClient.SendAsync(request).Result)
{
var rawResponse = response.Content.ReadAsStringAsync().Result;
var response = JsonConvert.DeserializeObject<CustomResponse>(rawResponse);
}
}