休息确定:JSON路径主体不匹配双打

时间:2017-06-12 13:26:03

标签: java json rest junit rest-assured

我尝试使用Rest Assured测试API。当我检查双值时,会出现AssertionError。

检查double的代码:

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
}

2 个答案:

答案 0 :(得分:11)

.body("versie", equalTo(11.0f));

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

答案 1 :(得分:0)

尝试将(float)强制转换为equalTo-.body(“ value”,equalTo((float)12.9)