【发布时间】:2021-02-17 13:55:16
【问题描述】:
我需要围绕 PostAsJsonAsync 编写单元测试用例,这是 HttpClientExtensions 中的扩展方法。我找不到任何简单的起订量方法。
谁能帮帮我。
【问题讨论】:
-
你不能模拟扩展方法。您需要“模拟”扩展方法正在扩展的东西,在本例中为
HttpClient。 -
扩展方法实际上只是带有编译器语法糖的静态方法,由于静态方法不能被覆盖,答案就是你不能。解决方案是创建一个实现接口的小型包装类,然后模拟该接口。
-
Plug:也可以使用我写的这个库,这样可以更方便地测试使用
HttpClient的代码:github.com/justeat/httpclient-interception
标签: c# asp.net asp.net-mvc unit-testing