我想用Rest Assured測試我的休息服務,但當服務返回負值時,我的測試失敗。其他保證和浮動負數
放心測試:
String methodName="multiply";
float[] operands = {1f,-2.5f,0};
float result = operands[0] * operands[1] * operands[2];
Response response = given().
pathParam("a",operands[0]).
pathParam("b",operands[1]).
pathParam("c",operands[2]).
contentType(JSON).
log().ifValidationFails().
when().
get("/"+methodName+"/{a}/{b}/{c}").
then().
assertThat().statusCode(200).
body("result",equalTo(result));
錯誤:
java.lang.AssertionError: JSON path result doesn't match.
Expected: <-0.0F>
Actual: 0.0
結果JSON:
{"result":-0.0}
爲什麼當我休息服務返回負零值測試失敗?
我認爲一個問題是如何放心的json路徑將字符串'-0'轉換爲浮動。 –
一方面是的,另一方面,你的服務不應該返回'-0.0f' ... – xenteros
我在想它。但爲什麼不返回-0f? Javascript有這個價值,我們可以使用它。我還會返回NaN,+/- Infinity和Rest Assured通常進行測試,JS可以使用這些值。 –