gpt4 book ai didi

java - Spring WebMvcTest 卡在实例化测试步骤中

转载 作者:太空宇宙 更新时间:2023-11-04 09:27:37 26 4
gpt4 key购买 nike

我在 groovy 上有 Controller

@RestController
@RequestMapping('/v1')
@CompileStatic
class 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

最佳答案

好的。问题出在配置服务连接的配置中。 Soma 坏人(不是我)将其放置在 bootstrap.yml 文件中

retry:
max-attempts: 10000

当我启动 @WebMvcTest 时,他尝试连接到配置服务 1000 次,看起来像是堆栈。我在测试包中创建了 bootstrap.yml 来覆盖此配置。

spring:
cloud:
config:
enabled: false

现在它不会尝试连接到配置服务并以默认属性启动。如果您现在如何才能以更正确的方式做到这一点,请告诉我!

关于java - Spring WebMvcTest 卡在实例化测试步骤中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57482429/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com