我正在尝试使用 jsonPath 放心地从 JSON 数组中提取值。
示例 JSON 响应:
{
"notices": [],
"errors": [
{
"code": "UNAUTHORIZED"
}
]
}
当前测试如下:
@Test(dataProvider = "somePayLoadProvider", dataProviderClass = MyPayLoadProvider.class)
public void myTestMethod(SomePayload myPayload) {
Response r = given().
spec(myRequestSpecification).
contentType(ContentType.JSON).
body(myPayload).
post("/my-api-path");
List<String> e = r.getBody().jsonPath().getList("errors.code");
assertEquals(e, hasItem(MyErrorType.UNAUTHORIZED.error()));
}
但是,我一直在我的错误代码周围得到 []。我只是想要它的价值。
java.lang.AssertionError: expected
[a collection containing "UNAUTHORIZED"] but found [[UNAUTHORIZED]]
Expected :a collection containing "UNAUTHORIZED"
Actual :[UNAUTHORIZED]