在 Spring Boot 中,如何在每次测试之前重置指标注册表?

lfm*_*noz 7 spring-test spring-boot micrometer spring-micrometer

我有测试并想对千分尺指标做出断言,但测试以随机顺序运行,所以我想在每次测试之前重置或清除所有千分尺指标,这样我的断言总是正确的。

mre*_*rek 9

你可以使用clear()方法

registry.clear();
Run Code Online (Sandbox Code Playgroud)


che*_*tts 6

这取决于使用的 Meter 注册表。如果你正在使用 aSimpleMeterRegistry你可以这样做:

registry.getMeters().forEach((meter) -> registry.remove(meter))
Run Code Online (Sandbox Code Playgroud)

  • 相同但更简洁,适用于任何 MeterRegistry:“registry.clear()”。实际上是删除仪表而不是重置其值。 (2认同)