Java 为什么“放心”会这样说;验证不需要';“t匹配”;但例外情况与实际情况相符吗?
我正在尝试通过重启来验证此JSON:Java 为什么“放心”会这样说;验证不需要';“t匹配”;但例外情况与实际情况相符吗?,java,rest-assured,Java,Rest Assured,我正在尝试通过重启来验证此JSON: { "valueBounds": [ { "bound": { "min": 1.0, "max": 4.2 }, "date": "2019-01-04T18:40:28.204+0100" } ], } 使用此代码: given().when().get(rootPath
{
"valueBounds": [
{
"bound": {
"min": 1.0,
"max": 4.2
},
"date": "2019-01-04T18:40:28.204+0100"
}
],
}
使用此代码:
given().when().get(rootPath + "/test/").then().statusCode(200).log().body().
body("valueBounds.bound.min", hasItems(1.0));
为什么我发现它们不匹配:
java.lang.AssertionError: 1 expectation failed.
JSON path valueBounds.bound.min doesn't match.
Expected: (a collection containing <1.0>)
Actual: [1.0]
java.lang.AssertionError:1预期失败。
JSON路径valueBounds.bound.min不匹配。
预期:(包含的集合)
实际:[1.0]
我曾尝试使用Arrays.asList(1.0),但这不是问题。解决方案是在数字后面添加一个f:
"valueBounds.bound.min", hasItems(1.0f)
您正在使用Hamcrest matcher hasItems()。尝试使用equalTo()代替标题,标题非常明确地表示:预期为“集合”,但得到的是一个普通数字。