1

我有一个自定义身份验证休息模板,我的库返回它是 HttpClient。我需要一个库,它可以让我将我的休息模板绑定到模拟服务器,以便我可以测试我的模板。我对 .Net Core 中的TestServer寄予厚望,但它有自己TestServer.CreateClient()的特殊HttpMessageHandler. 似乎没有办法使用我自己的休息模板。我将 WireMock 用于其他一些基本的预设请求和响应内容,但我确实需要将此模板绑定到我的测试服务器,就像您在此处看到的 Java 的 MockRestSesrviceServer 中看到的那样。 https://www.baeldung.com/restclienttest-in-spring-boot(第 2 节)。

我环顾四周,没有找到一个允许在 .NET Core 中进行这种类型的绑定。我对mockhttp寄予厚望,但似乎无法与您自己的 HttpClient 绑定。有错过吗?有没有办法用 TestServer 做到这一点,还是有另一个我错过的库可以做到这一点?感谢您的任何意见。这已经是几个星期了。

我应该提到这是我正在开发的 lib/nuget 包,所以我没有在 src 项目中内置 Web 启动类来进行测试。我必须创建任何东西来播种类似于 startup.cs 的 webproject 配置,如果可行的话,我愿意这样做。

4

2 回答 2

0

在容器中使用 MockServer ,由于代码构建复杂性和理解成为测试的一部分,TestServer 给出了相当讨厌的长期结果

于 2020-01-24T05:52:56.623 回答
0

也许WireMock.Net在这种情况下可以帮助你?

  • HTTP 响应存根,可在 URL/路径、标头、cookie 和正文内容模式上匹配
  • 库可用于单元测试和集成测试
  • 作为独立进程、Windows 服务、Azure/IIS 或 docker 运行
  • 可通过流畅的 DotNet API、JSON 文件和 HTTP 上的 JSON 进行配置
  • 存根的记录/回放(代理)
  • 按请求条件代理
  • 有状态行为模拟
  • 使用 Handlebars 和扩展的响应模板/转换
  • 可以在本地使用,也可以在 CI/CD 场景中使用。
于 2020-01-26T19:42:39.017 回答