如何在 Spring Cloud Contract 我自己的 WireMock 扩展中注入一个 bean

How to inject a bean in my own WireMock Extension in Spring Cloud Contract

我使用文档(8.5.6 注册您自己的 WireMock 扩展)中描述的 spring.factories 方法成功注册了我自己的 Wiremock 扩展,但我还需要在 class 中注入一个 bean实现 WireMockExtensions 以便将其传递到我的自定义扩展,为我的自定义扩展提供一些服务。

我尝试在实现 WireMockExtensions 的 class 中使用 Autowired,但它不起作用。

你不能开箱即用。由于我们使用 spring.factories 机制,它通过 new.

创建扩展

您可以做的是尝试从您的扩展中静态访问应用程序上下文。您可以做的是在测试范围内创建一个 bean,它将包含一个将注入 applicationContext 的静态字段。然后从外部 Spring 上下文您将能够访问它。

此外,为什么 WireMock 扩展中需要 Spring 上下文?