Пример испытания:уверяем - повторить запрос, если не удалось
@Test
public void shouldGetRoutesList() {
Response response =
given()
.headers("RequestId", 10)
.headers("Authorization", accessToken)
.contentType(ContentType.JSON).
expect()
.statusCode(HttpURLConnection.HTTP_OK).
when()
.get("address");
String responseBody = response.getBody().asString();
System.out.println(responseBody);
logger.info("Log message");
}
Дело в том, что иногда ответ от службы равна 500 об ошибке. Это из-за ошибки приложения, и это ошибка приложения, поэтому я хотел бы добавить temp. обходной путь для повторного ответа .get
, если сервис возвращается 500. Я думал о if
или do-while
, но я знаю, что это не очень умно. Кто-нибудь может посоветовать какое-то решение? !
Другими словами - я хочу повторить весь тест (или просто .get), если StatusCode = HTTP_OK
Если вы хотите повторить что-то, это ваш единственный путь. И что не так с простым «не умным» решением? – Guy
Я могу удалить expect(), чтобы не пропустить тест из-за statusCode = 500 и в инструкции IF проверить, что этот код/или не отображается. Но другая проблема заключается в том, что responseBody не возвращает код состояния как String, поэтому я не могу просто сделать что-то вроде responseBody.contains («500») ... – Michal