为了账号安全,请及时绑定邮箱和手机立即绑定

Spring WebMvcTest 卡在实例化测试步骤

Spring WebMvcTest 卡在实例化测试步骤

紫衣仙女 2023-06-04 16:48:30
我在 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

现在它不尝试连接到配置服务并从默认属性开始。如果您现在如何才能更正确地做到这一点,请告诉我!


查看完整回答
反对 回复 2023-06-04
  • 1 回答
  • 0 关注
  • 121 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信