Trong quá trình phát triển phần mềm, việc phải gửi nhận, giao tiếp với server là điều không thể tránh khỏi. Giả sử như khi chúng ta đang code một đoạn nhận và xử lý data từ server, mỗi lần muốn thay đổi response từ server để kiểm tra code, ta lại phải vào đổi code phía backend, hoặc nhờ vả team backend, như vậy thì thật bất tiện và tốn thời gian phải không. Chưa kể, nếu đó là server từ bên thứ ba thì việc nhờ vả gần như không thể. Và đó là lúc chúng ta cần đến Mockoon.

1. Tạo một Mock API đơn giản

Bước 1: Download và cài đặt Mockoon tại đây.

Bước 2: Setup response theo ý muốn.

2.1 Setup route, port, prefix, method

Theo config như trên ta sẽ có được mock api hoạt động ở port 3001 với route là /prefix/type1 và API này nhận method Get.

2.2 Setup body và header của response.

Với config trên, API của chúng ta sẽ trả về json response với body là

[   {     "id": 1,     "firstname": "John",     "Lastname": "Snow",     "status": "Learning things"   },   {     "id": 2,     "firstname": "Daenerys",     "Lastname": "Targaryen",     "status": "Riding a dragon"   } ]                                                                                                            

Bước 3: Test thử kết quả.

Như vậy là chúng ta đã có thể mock được API rồi. Nhưng giả sử như code client đang chạy trong một docker container thì sao? Làm sao để liên kết với mockoon từ bên trong docker container?

2. Sử dụng Mock API trong môi trường Docker container

Để giải quyết vấn đề đó thì chúng ta cần lấy được ip của host.

Bước 1: SSH vào container .

sudo docker exec -it container-name /bin/bash

Bước 2: Tìm ip của máy host.

hostip=$(ip route show | awk '/default/ {print $3}') echo $hostip

Bước 3: Test thử với curl.

curl -X GET http://172.20.0.1:3000/users

Vậy là chúng ta đã có thể mock API một cách dễ dàng ngay cả khi đang làm việc với docker container.

3. Một số tính năng của mockoon.

3.1 Request và response logs:

3.2 Export và import môi trường:  

3.3 Reponse theo điều kiện:

Chúng ta có thể thêm nhiều response cho một route. Nếu một route có nhiều response và không có quy định gì về điều kiện thì response đầu tiên sẽ được hiểu là response mặc định. Chúng ta có thể kéo thả để thay đổi thứ tự này.

Chúng ta có thể quy định nhiều điều kiện cho một route. Với mỗi yêu cầu được gửi đến route, Mockoon sẽ tìm điều kiện thích hợp đầu tiên và trả reponse về theo điều kiện đó.

4. Lời kết:

Với Mockoon, việc test code xử lý response sẽ không còn phức tạp và mất quá nhiều thời gian nữa, mọi thứ sẽ trở nên tiện lợi và nhanh chóng hơn bao giờ hết. Chúc bạn thành công