【发布时间】:2022-02-04 09:27:28
【问题描述】:
我正在为我的执行器编写一些 mockMvc 单元测试。我目前有一个用于健康的,效果很好
class HealthTest {
@Autowired
private Mockmvc mockMvc;
private ResultActions resultActions;
@BeforeEach() throws Exception {
resultActions = mockMvc.perform(get("/actuator/health"));
}
@Test
void shouldReturnOk() throws Exception {
resultActions.andExpect(jsonPath("status", is("UP")));
}
}
这很好用。但是,当将相同的逻辑应用于“/actuator/info”时(字面上与健康类完全相同,仅更改了该路径(在 application.yml 中定义了配置,并且我已经手动查看了它,当我运行应用程序)我得到一个 200 状态,但没有 JSON,即使网页本身显示一个 JSON 对象。就像当我通过它运行它时,它得到一个空白页面,或者页面,但不是在 json格式。
编辑:所以配置在 main/application.yml 中。当我将配置复制到 test/application.yml 时,它可以工作。有没有办法让 mvc 指向我的主 application.yml?因为所有这些真正的测试都是我重复的测试配置
编辑 2:更好的评论格式:
management:
endpoints:
web:
exposure:
include:
- info
info:
application:
name: My application name
【问题讨论】:
标签: java spring spring-boot testing spring-boot-actuator