【发布时间】:2021-02-14 22:48:53
【问题描述】:
我正在尝试通过带有 @WebMvcTest 的 Actuator/Prometheus 来测试 Spring Boot 2.3 @Controller。不幸的是,这在 NPE 中失败,可能是因为测试中不存在 Micrometer/Prometheus 类。
控制器会
Counter.builder(COUNTER_STATUS)
.description(DESCRIPTION_STATUS)
.tags(TAG_ACCOUNT, String.valueOf(accountId), TAG_STATUS, String.valueOf(status))
.register(registry)
.increment();
测试有
@ExtendWith(SpringExtension.class)
@ExtendWith(MockitoExtension.class)
@WebMvcTest(HerodotusController.class)
@MockBean(MeterRegistry.class)
private MeterRegistry meterRegistry;
这会在Counter... 行出现 NPE 失败;我相信因为在测试运行时没有实现该接口(在运行时它由io.micrometer:micrometer-registry-prometheus 实现)。
如何在我的测试中实现 Micrometer 接口以使其通过?
【问题讨论】:
标签: java spring-boot junit resttemplate spring-micrometer