如何在 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 上下文?
我使用文档(8.5.6 注册您自己的 WireMock 扩展)中描述的 spring.factories 方法成功注册了我自己的 Wiremock 扩展,但我还需要在 class 中注入一个 bean实现 WireMockExtensions 以便将其传递到我的自定义扩展,为我的自定义扩展提供一些服务。
我尝试在实现 WireMockExtensions 的 class 中使用 Autowired,但它不起作用。
你不能开箱即用。由于我们使用 spring.factories
机制,它通过 new
.
您可以做的是尝试从您的扩展中静态访问应用程序上下文。您可以做的是在测试范围内创建一个 bean,它将包含一个将注入 applicationContext
的静态字段。然后从外部 Spring 上下文您将能够访问它。
此外,为什么 WireMock 扩展中需要 Spring 上下文?