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