检查 json 响应中数组的每个元素中的特定字段是否具有特定值



我需要断言以下json响应中"content"中的每个字段"contentType"都包含"VIDEO"作为值。

现在我正在用Hamcrest检查该字段的存在,如下所示:

assertThat(response.then().body("contents.content", everyItem(hasKey("contentType"))));

所以我想要一种类似的方法来测试该值是否为"VIDEO",如果它找到一个未知值或与"VIDEO"不同的东西,它会失败。

{  
"contents":{  
"content":[  
{  
"title":"clip012123",
"contentId":1231231,
"contentType":"VIDEO",
},
{  
"title":"clip45637",
"contentId":8645634,
"contentType":"VIDEO",
},
{  
"title":"clip0986382",
"contentId":8457264,
"contentType":"VIDEO",
},
{  
"title":"clip249413",
"contentId":37836783,
"contentType":"UNKNOWN",
}
]
}
}

你在这里:

List<String> contentTypes = response.jsonPath().getList("contents.content.contentType");
MatcherAssert.assertThat(contentTypes, Matchers.everyItem(Matchers.is("VIDEO")));

相关内容

  • 没有找到相关文章

最新更新