模拟网址以在单元测试中进行调用

时间:2020-06-22 05:08:39

标签: c# unit-testing xunit

我有一个方法,该方法将URL作为参数,使用HttpClient对其进行请求,如果content-typeimage开头,则返回true,否则返回false。我正在尝试为此编写测试。如何创建可以拨打电话的模拟/伪造URL?

2 个答案:

答案 0 :(得分:0)

有一个非常轻量级的库Flurl,它实际上是HttpClient的包装器。它内置了对UnitTesting的支持。

答案 1 :(得分:0)

您不应模拟/伪造URL,而应模拟HttpClient。

您可以为HttpClient创建一个接口(IHttpClient),其中包含HttpClient中的所有方法或开发所需的所有方法。然后,您可以创建一个简单的包装程序,该包装程序将扩展HttpClient并实现IHttpClient接口。

但是,这种方法有点棘手。因此,也许您应该看看一些库,例如Refit。但是在这种情况下,您需要做一些工作来重组您的请求系统。

相关问题