预期和实际匹配,但测试失败

时间:2020-09-03 09:13:57

标签: java spring spring-boot junit rest-assured

使用具有保证的功能来调用基本的具有以下功能的服务:

  given().get(baseUrl + "/base/")
                .then()
                .statusCode(200)
                .body("size()", is(2))
                .body("meanPerDay", equalTo(1.5))

返回:

java.lang.AssertionError: 1 expectation failed.
JSON path meanPerDay doesn't match.
Expected: <1.5>
  Actual: 1.5

baseUrl + "/base/"的有效载荷为:

{
    "meanPerDay": 1.5,
    "stdPerDay": 0.5
}

如果我将.body(“ meanPerDay”,equalTo(1.5))替换为.body(“ meanPerDay”,equalTo(“ 1.5”))

失败是:

java.lang.AssertionError: 1 expectation failed.
JSON path meanPerDay doesn't match.
Expected: 1.5
  Actual: 1.5

我没有正确访问meanPerDay属性?

测试正在发现属性值,因为Expected的值为1.5?

1 个答案:

答案 0 :(得分:1)

以下数字为浮点数

{
    "meanPerDay": 1.5,
    "stdPerDay": 0.5
}

,但是,以下测试与“ double”进行比较:

 .body("meanPerDay", equalTo(1.5))

因此,您可以尝试以下操作:

 .body("meanPerDay", equalTo(1.5f))