Nếu bạn đã follow series Rest-Assured từ đầu đến giờ, bạn thấy hầu hết body đều có cấu trúc rất đơn giản. Ví dụ như trong bài 4:
{
"id": 1,
"firstName": "Vernon",
"lastName": "Harper",
"email": "egestas.rhoncus.Proin@massaQuisqueporttitor.org",
"programme": "Financial Analysis",
"courses": [
"Accounting",
"Statistics"
]
}Bài này mình sẽ liệt kê ra 1 số object có cấu trúc “phức tạp” mà mình đã gặp trong thực tế khi làm dự án, tất nhiên mình chỉ ví dụ thôi.
I. Object lồng object
{
"account": {
"name": "lucas",
"age": 20,
"is_admin": true
},
"colors": [
"red",
"orange"
],
"star": 4.5
}II. Object lồng Object, object con có thể thay đổi
Có khi thì
{
"data": {
"name": "lucas",
"age": 20,
"is_admin": true
},
"string": "Hi"
}hoặc
{
"data": {
"machine": "lucas",
"created_time": 12423423420,
},
"string": "Hi"
}Bạn có thể thấy là các properties của object data là hoàn toàn khác nhau, nếu làm theo bài 4 thì chắc bạn không thể làm ra 1 object data là có các properties thay đổi như vậy được.
III. Object có 1 vài field lúc có, lúc không
{
"data": {
"machine": "lucas",
"created_time": 12423423420
},
"is_admin": true
}{
"data": {
"machine": "lucas",
"created_time": 12423423420
}
}Field is_admin lúc cần, lúc không cần.
IV. Object rỗng
Ví dụ:
{
"data": {
},
"string": "Hi"
}V. Object vừa là cha, vừa là con
{
"query": {
"logic": {
"data": {
"logic": {
"operation": ">"
},
"name": "lucas",
"age": 20,
"is_admin": true
},
},
},
"string": "Hi"
}Thằng object logic vừa là cha, vừa là con của object data
Trên đây là 5 kiểu object mình đã từng gặp, các bạn có thể thử sức, tự build xem sao. Nếu không build được mà muốn biết đáp án thì có 2 cách:
- Chờ bài viết đáp án (sẽ ra trong tương lai, chưa cố định thời gian)
- Hoặc là đăng ký lớp học api automation testing của mình. Hehe