英文:
Expected and actual matching but test is failing
问题
使用 rest-assured 调用基本 rest 服务:
given().get(baseUrl + "/base/")
.then()
.statusCode(200)
.body("size()", is(2))
.body("meanPerDay", equalTo(1.5))
返回:
java.lang.AssertionError: 1 个期望失败。
JSON 路径 meanPerDay 不匹配。
期望值:<1.5>
实际值:1.5
baseUrl + "/base/"
的有效负载为:
{
"meanPerDay": 1.5,
"stdPerDay": 0.5
}
如果我将 .body("meanPerDay", equalTo(1.5))
替换为 .body("meanPerDay", equalTo("1.5"))
失败信息为:
java.lang.AssertionError: 1 个期望失败。
JSON 路径 meanPerDay 不匹配。
期望值:1.5
实际值:1.5
我没有正确访问 meanPerDay
属性吗?
测试发现属性值,因为Expected
值为 1.5?
英文:
Using rest-assured to invoke a base rest service with:
given().get(baseUrl + "/base/")
.then()
.statusCode(200)
.body("size()", is(2))
.body("meanPerDay", equalTo(1.5))
returns :
java.lang.AssertionError: 1 expectation failed.
JSON path meanPerDay doesn't match.
Expected: <1.5>
Actual: 1.5
The payload of baseUrl + "/base/"
is:
{
"meanPerDay": 1.5,
"stdPerDay": 0.5
}
If I replace .body("meanPerDay", equalTo(1.5)) with .body("meanPerDay", equalTo("1.5"))
the failure is:
java.lang.AssertionError: 1 expectation failed.
JSON path meanPerDay doesn't match.
Expected: 1.5
Actual: 1.5
I'm not accessing the meanPerDay
attribute correctly?
The test is finding the attribute value as the Expected
is value 1.5?
答案1
得分: 1
以下是浮点数:
{
"meanPerDay": 1.5,
"stdPerDay": 0.5
}
然而,以下的测试是与一个 "double" 进行比较:
.body("meanPerDay", equalTo(1.5))
因此,你可以尝试这样写:
.body("meanPerDay", equalTo(1.5f))
英文:
The below numbers are floating point
{
"meanPerDay": 1.5,
"stdPerDay": 0.5
}
, however, the following test is comparing with a "double":
.body("meanPerDay", equalTo(1.5))
So, you can try this:
.body("meanPerDay", equalTo(1.5f))
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论