放心响应正文验证
Rest Assured response body validation
我有一个与 Rest Assured 中的响应主体验证相关的问题。假设,我有这样一个响应主体 json.
{
"store": {
"books_count":3,
"books": [
{
"genre": "fiction",
"author": {
"name": "William",
"lastName" : "Evans"
}
},
{
"genre": "kids",
"author": {
"name": "Eric",
"lastName" : "Carle"
}
},
{
"genre": "science",
"author": {
"name": "Ronald",
"lastName" : "Forks"
}
}
]
}
}
我需要检查:
- 如果图书部分包含儿童类型
- 如果一本儿童类型的书的作者姓名为埃里克
第一个断言可以是这样的:
response.body("store.books.genre", hasItem("kids);
但是我需要检查它的作者的名字是不是威廉。有什么方法可以使用 jsonPath?
检查它吗?
我假设我可以进行反序列化(e.x.List,然后得到一个 Author.class 等等...),但是有没有机会用 RestAssured 检查一下。提前致谢!
if a book of kids genre has autor name as Eric
您可以利用 GPath 按条件提取值
.body("store.books.find {it.genre == 'kids'}.author.name", is("Eric");
我有一个与 Rest Assured 中的响应主体验证相关的问题。假设,我有这样一个响应主体 json.
{
"store": {
"books_count":3,
"books": [
{
"genre": "fiction",
"author": {
"name": "William",
"lastName" : "Evans"
}
},
{
"genre": "kids",
"author": {
"name": "Eric",
"lastName" : "Carle"
}
},
{
"genre": "science",
"author": {
"name": "Ronald",
"lastName" : "Forks"
}
}
]
}
}
我需要检查:
- 如果图书部分包含儿童类型
- 如果一本儿童类型的书的作者姓名为埃里克
第一个断言可以是这样的:
response.body("store.books.genre", hasItem("kids);
但是我需要检查它的作者的名字是不是威廉。有什么方法可以使用 jsonPath?
检查它吗?我假设我可以进行反序列化(e.x.List
if a book of kids genre has autor name as Eric
您可以利用 GPath 按条件提取值
.body("store.books.find {it.genre == 'kids'}.author.name", is("Eric");