我想使用MockMvc
类测试Prometheus指标端点。
一切正常,但昨天我将我的项目迁移到Java 15
,SpringBoot 2.4.3
和SpringCloud 2020.0.1
。现在,只有prometheus测试不起作用,我收到404而不是预期的200。我对build.gradle
有所有必要的依赖:runtime("io.micrometer:micrometer-registry-prometheus")
。在application-test.yml
上,我有一个配置,用于禁用安全性、合约测试、合约代理端点等。
我的测试:
@ExtendWith({SpringExtension.class, PostgresSpringDataSourceExtension.class})
@ActiveProfiles({"test"})
@SpringBootTest
@AutoConfigureMockMvc
public class PrometheusEndpointTest {
@Autowired private MockMvc mockMvc;
@Test
public void metricsThroughPrometheusEndpoint() throws Exception {
MvcResult result =
this.mockMvc.perform(get("/metrics")).andExpect(status().isOk()).andReturn();
}
}
application.yaml
配置的一部分:
management:
endpoint:
prometheus:
enabled: true
endpoints:
enabled-by-default: false
web:
exposure:
include: 'prometheus'
base-path: '/'
path-mapping:
prometheus: 'metrics'
2条答案
按热度按时间2nc8po8w1#
解决方案:我们需要将属性添加到测试注解或
application-test.yml
:oprakyz72#
另一个解决方案添加:
as org.springframework. Boot .actuate.autoconfigure.metrics.export.prometheus.PrometheusMetricsExportAutoConfiguration需要启用它才能导出