请放心:JSON 路径正文与双精度不匹配

2022-09-03 01:32:59

我正在尝试使用“放心”测试 API。当我检查双精度值时,有一个断言错误。

用于检查双精度的代码:

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
}

答案 1
.body("versie", equalTo(11.0f));

这确实对我有用。
答案基于@StanislavL的评论。


答案 2

尝试使用强制转换(浮点数)到 equalTo - .body(“value”, equalTo((浮点数)12.9)