单独的wiremocks QuarkusTestResources

问题描述

在我的 Quarkus 应用程序中,我有多个控制器使用多个休息客户端。我有多个测试,它们都使用带有 wiremock 资源的 @QuarkusTestResource。我的方法是让每个控制器拥有自己的 wiremock 资源并存根他们需要的任何 restclients 以及如何定义存根。因此,每个测试可能会使用不同的存根来删除相同的其余客户端。

在运行我的测试时,我发现即使每个测试类都使用不同的 wiremock 实现进行注释,它们似乎会相互覆盖。测试可能并行运行,并且配置 (/mp-rest/url) 在它们之间共享并被最后运行的 QuarkusTestResourceLifecycleManager 覆盖。

有关如何解决此问题的任何提示?或者我应该为每个休息客户端创建一个 wiremock 类?

解决方法

我认为您可以在 restrictToAnnotatedClass 中使用 QuarkusTestResource。它至少在 Quarkus 1.13 中可用。请参阅:https://quarkus.io/guides/getting-started-testing