我在 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
提交
取消