Периодическая ошибка при тестировании контроллера
Вот код самого теста
public class ExControllerIT extends AbstractWireMockIT {
@Autowired
private MockMvc mockMvc;
@Test
public void testRc() throws Exception {
stub("путь к файлу IN.json", "c25dd67d-2c31-4055-9a4b-62dad9b7eec1");
mockMvc.perform(MockMvcRequestBuilders.get("/api/v1")
.content(bytesFromFile(ExControllerIT.class, "путь к файлу request.json"))
.contentType(MediaType.APPLICATION_JSON)
.accept(MediaType.APPLICATION_JSON))
.andDo(print())
.andExpect(status().isOk());
Assertions.assertTrue(true);
}
private void stub(String jsonFileName, String Id) throws IOException {
final String json = stringFromFile(ExControllerIT.class, jsonFileName);
wiremockServer.stubFor(
get("/manager/api/v1/" + Id)
.willReturn(
aResponse()
.withStatus(HttpStatus.OK.value())
.withHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE)
.withBody(json)));
}
public byte[] bytesFromFile(Class<?> testClass, String path) throws IOException {
return Files.readAllBytes(ResourceUtils.getFile(testClass.getResource(path)).toPath());
}
public String stringFromFile(Class<?> testClass, String path) throws IOException {
return new String(bytesFromFile(testClass, path), StandardCharsets.UTF_8);
}
}
Тест проходит, но один раз на 20, он падает и выдает ошибку
[ERROR] Failures:
[ERROR] ExControllerIT.testRc:67 Status expected:<200> but was:<500>
Данные остаются не изменными, но тест по какой-то причине падает. Я не понимаю, почему это может происходить и как обнаружить ошибку?