在我的 Quarkus 应用程序中,我有多个使用多个 REST 客户端的控制器。我有多个测试,它们都使用 @QuarkusTestResource 和 Wiremock 资源。我的方法是让每个控制器拥有自己的 Wiremock 资源,并存根它们需要的任何 Restclient 以及需要如何定义存根。因此,每个测试可能会使用不同的存根来删除相同的其余客户端。
当运行我的测试时,我发现即使每个测试类都用不同的 Wiremock 实现进行注释,它们看起来也会互相覆盖。这些测试可能是并行运行的,并且配置 ( /mp-rest/url) 在它们之间共享,并由最后运行的 QuarkusTestResourceLifecycleManager 覆盖。
关于如何解决这个问题有什么建议吗?或者我应该为每个休息客户端创建一个 Wiremock 类?
我认为你可以使用restrictToAnnotatedClassinQuarkusTestResource来实现这一点。它至少在 Quarkus 1.13 中可用。请参阅: https: //quarkus.io/guides/getting-started-testing
您还可以使用
wireMockServer = new WireMockServer(new WireMockConfiguration().dynamicPort());
Run Code Online (Sandbox Code Playgroud)
定义每个 WireMock 服务器的动态端口
| 归档时间: |
|
| 查看次数: |
1465 次 |
| 最近记录: |