2
實施例試驗:放心 - 重試請求如果失敗
@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錯誤。這是因爲應用程序錯誤,它的應用程序故障,所以我想補充溫度。解決方法重試.get
如果服務返回500.我正在考慮if
或do-while
但我知道這不是很聰明的方式。任何人都可以建議一些解決方案!
換句話說 - 我要重試整個測試(或只是不用彷徨)如果的StatusCode = HTTP_OK
如果你想重試某些事情,循環是唯一的方法。簡單的「不聰明」解決方案有什麼問題? – Guy
由於statusCode = 500,我可以刪除expect()以使其不會失敗,並且在IF語句中檢查此代碼是/否不可見。但另一個問題是,responseBody不返回狀態代碼作爲一個字符串,所以我不能只做一些像responseBody.contains(「500」)... – Michal