请放心:JSON 路径主体不匹配双打
Rest Assured: JSON path body doesn't match doubles
我正在尝试 API 测试 API 放心。当我检查双精度值时出现 AssertionError。
双重检查代码:
given().body(getTest()).contentType("application/json\r\n").
when()
.port(port)
.basePath("/fff/test")
.post("insert")
.then()
.assertThat()
.statusCode(200)
.body("versie", equalTo(11.0));
这是输出:
java.lang.AssertionError: 1 expectation failed.
JSON path versie doesn't match.
Expected: <11.0>
Actual: 11.0
当我将带有 .body 的行更改为:
.body("versie", equalTo(""+11.0));
输出为:
java.lang.AssertionError: 1 expectation failed.
JSON path versie doesn't match.
Expected: 11.0
Actual: 11.0
有谁知道我该如何解决这个问题?因为我真的不知道怎么解决。
编辑
JSON:
{
"id": 1,
"naam": "Test X",
"versie": 11.0
}
.body("versie", equalTo(11.0f));
这对我有用。
答案基于@StanislavL 的评论。
尝试将 (float) 强制转换为 equalTo - .body("value", equalTo((float)12.9)
我正在尝试 API 测试 API 放心。当我检查双精度值时出现 AssertionError。
双重检查代码:
given().body(getTest()).contentType("application/json\r\n").
when()
.port(port)
.basePath("/fff/test")
.post("insert")
.then()
.assertThat()
.statusCode(200)
.body("versie", equalTo(11.0));
这是输出:
java.lang.AssertionError: 1 expectation failed.
JSON path versie doesn't match.
Expected: <11.0>
Actual: 11.0
当我将带有 .body 的行更改为:
.body("versie", equalTo(""+11.0));
输出为:
java.lang.AssertionError: 1 expectation failed.
JSON path versie doesn't match.
Expected: 11.0
Actual: 11.0
有谁知道我该如何解决这个问题?因为我真的不知道怎么解决。
编辑
JSON:
{
"id": 1,
"naam": "Test X",
"versie": 11.0
}
.body("versie", equalTo(11.0f));
这对我有用。
答案基于@StanislavL 的评论。
尝试将 (float) 强制转换为 equalTo - .body("value", equalTo((float)12.9)