我在 groovy 上有控制器@RestController@RequestMapping('/v1')@CompileStaticclass DatasourceResource { private final DatasourceService datasourceService @Autowired DatasourceResource(final DatasourceService datasourceService) { this.datasourceService = datasourceService } @Secured(hasAuthority = 'RADAR_LITE_SERVICE_DATA_ACCESS') @GetMapping(value = '`/datasources/types', headers = 'token', produces = MediaType.APPLICATION_JSON_VALUE) Response<List<String>> getDatabaseType() { return new Response(DatabaseType.values()*.toString()) }}我在java上写了简单的测试@RunWith(SpringRunner.class)@WebMvcTest(DatasourceResource.class)public class DatasourceResourceTest { @MockBean private DatasourceService datasourceService; @Autowired private MockMvc mockMvc; @Test public void getDatabaseType() throws Exception { mockMvc.perform(post("/v1/datasources/types")) .andExpect(status().isOk()); }}但是当我运行测试时,它停留在 IDEA 中的“实例化测试”步骤。即使我从终端启动此任务,测试任务也会卡住。它只在它的测试上卡住,如果我删除 @WebMvcTest 注释和 mockMvc 字段和测试主体,它不会卡住,并且会通过。看起来 spring 无法启动上下文或 tomcat。我该如何检查或修复?我们使用 SpringBoot 2.1.0.RELEASE
1 回答
莫回无
TA贡献1865条经验 获得超7个赞
好的。问题出在配置服务连接的配置中。Soma 坏人(不是我)把它放在 bootstrap.yml 文件中
retry: max-attempts: 10000
当我启动@WebMvcTest 时,他尝试连接到配置服务 1000 次,它看起来像是堆栈。我在测试包中创建了 bootstrap.yml 来覆盖这个配置。
spring: cloud: config: enabled: false
现在它不尝试连接到配置服务并从默认属性开始。如果您现在如何才能更正确地做到这一点,请告诉我!
添加回答
举报
0/150
提交
取消