Trong khi phát triển webhook, bạn có thể muốn thử nghiệm webhook đó với doanh nghiệp thực Tải trọng tin nhắn. Thay vì tạo thử nghiệm theo cách thủ công, bạn có thể sử dụng Khung thử nghiệm thông báo để kiểm tra webhook của bạn với nhiều loại tải trọng JSON webhook của bạn có thể nhận được trong quá trình sản xuất.
Để bắt đầu, bạn chỉ cần một URL để một phiên bản webhook đang chạy. Khung thử nghiệm dễ cài đặt và bạn có thể kiểm tra webhook của mình chỉ bằng một lệnh.
Bắt đầu
Cài đặt khung
Cách dễ nhất để cài đặt khung này là bằng trình quản lý gói Trình quản lý đối tác dữ liệu (API).
Khung này được xuất bản trong sổ đăng ký gói chrome nên bạn có thể cài đặt khung này
với npm
:
npm install -g bm-test-framework
Chạy kiểm thử
Sau khi cài đặt gói hàng, bạn có thể cung cấp URL webhook của mình dưới dạng môi trường biến và chạy tất cả các kiểm thử bằng lệnh sau:
BMTF_ENDPOINT_URL=<Your webhook URL> bm-test-framework
Kết quả của khung kiểm thử có dạng như sau:
Sending payloads to <Your webhook URL>
✔ authentication-request.json should return 200
✔ event-receive.json should return 200
✔ image-message.json should return 200 (862ms)
✔ read-receipt.json should return 200
✔ suggestion-message.json should return 200
✔ text-message.json should return 200 (134ms)
✔ text-with-dialogflow-response.json should return 200 (128ms)
✔ user-receipt.json should return 200
Trong ví dụ về lần chạy kiểm thử này, tất cả các trường hợp kiểm thử đều thành công.
Nếu webhook của bạn không hoạt động ở một trong các trường hợp thử nghiệm, điều đó có nghĩa là webhook của bạn không
phản hồi bằng 200 OK
cho tải trọng JSON của trường hợp kiểm thử đó. Trong trường hợp đó, kiểm thử
khung sẽ in thông tin lỗi để giúp bạn gỡ lỗi. Xem
README khung kiểm thử
để tìm hiểu thêm về các trường hợp kiểm thử cụ thể.
Sử dụng khung trong dự án NodeJS
Để sử dụng khung này từ trong mã của riêng bạn trong dự án NodeJS hoặc từ trong bộ thử nghiệm Mocha, trước tiên hãy cài đặt gói này phần phụ thuộc:
npm install --save-dev bm-test-framework
Sau khi cài đặt, bạn có thể tạo đối tượng BmTestFramework
để quản lý các chương trình kiểm thử:
const BmTestFramework = require('bm-test-framework');
const bmTestFramework = new BmTestFramework({endpointURL: <Your webhook URL>});
Mảng thành phần payloads
chứa tất cả các trường hợp kiểm thử. Bạn có thể sử dụng
sendPayload
để chạy một quy trình kiểm thử cụ thể. Ví dụ: mã sau đây
chạy bài kiểm thử đầu tiên trong khung này:
bmTestFramework.sendPayload(bmTestFramework.payloads[0])
Định cấu hình kiểm thử
Ngoài biến môi trường BMTF_ENDPOINT_URL
bắt buộc, bạn có thể
cũng thiết lập các biến môi trường không bắt buộc để tuỳ chỉnh hành vi kiểm thử:
Biến môi trường | Tên trường cấu hình | Loại | Mô tả |
---|---|---|---|
BMTF_RANDOM_UUID | randomUuid | boolean | Nếu đúng, hãy đặt mã cuộc trò chuyện thành một UUID ngẫu nhiên có định dạng hợp lệ. Nếu là false, hãy đặt tất cả mã cuộc trò chuyện thành "CONVERSATION-ID". |
BMTF_TIMEOUT | tạm ngừng | Số hoặc chuỗi thời gian được định dạng | Đặt thời gian chờ tính bằng mili giây cho mỗi trường hợp kiểm thử. Thời gian chờ mặc định là 2000 mili giây cho mỗi trường hợp kiểm thử. Hãy xem tài liệu tham khảo API Mocha để biết thông số kỹ thuật chi tiết về loại và định dạng. |
Ví dụ: mã sau đây chạy khung kiểm thử từ dòng lệnh khi bật tuỳ chọn UUID ngẫu nhiên và có thời gian chờ là 1.000 mili giây:
BMTF_ENDPOINT_URL=<Your webhook URL> BMTF_TIMEOUT=1000 BMTF_RANDOM_UUID=true bm-test-framework
Để tuỳ chỉnh hành vi kiểm thử trong dự án NodeJS, bạn cũng có thể truyền phương thức
cùng các biến đó vào đối tượng config
khi bạn tạo BmTestFramework
:
const bmTestFramework = new BmTestFramework({endpointURL: <Your webhook URL>, randomUuid: true, timeout: 1000});