基本上,我构建了一个列表,其中包含 JSON 对象的正文字段名称的字符串。
像这样:
List<String> fieldNames = new ArrayList<String>();
然后我使用 Rest-assured 来获取一个 JSON 格式的响应,如下所示:
{
"id": 11,
"name": "CoolGuy",
"age": "80",
}
所以我的列表包含“id”、“name”和“age”。我如何验证 JSON 字段是否与列表中的那些字符串匹配。 WITHOUT 取决于他们的顺序。
我只知道如何验证它包含一个字符串,下面是我使用的整个 JUnit 测试方法:
@Test
public void verifyJSONMatch() {
given().auth().basic("user", "pass").when()
.get(getRequestURL).then().body(containsString("id"));
}
有什么建议吗?
最佳答案
您可以提取响应
ResponseOptions response = given().spec(request)
.get("/url_path");
然后解析一个json
DocumentContext parsedJson = JsonPath.parse(response.getBody().asString());
assertThatJson(parsedJson).field("['id']").isEqualTo("11");
关于java - 请放心验证 JSON 正文是否包含列表中的所有字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51064444/