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.
Nội dung bài viết
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