Saat mengembangkan webhook, sebaiknya lakukan pengujian dengan payload Business Messages yang sebenarnya. Daripada membuat pengujian secara manual, Anda dapat menggunakan framework pengujian Business Messages untuk menguji webhook dengan berbagai jenis payload JSON yang mungkin diterima webhook dalam produksi.
Untuk memulai, yang Anda butuhkan hanyalah URL ke instance webhook yang berjalan. Framework pengujian mudah diinstal, dan Anda dapat menguji webhook dengan satu perintah.
Memulai
Menginstal framework
Cara termudah untuk menginstal framework adalah dengan pengelola paket NPM.
Framework dipublikasikan di registry paket NPM, sehingga Anda dapat menginstalnya
dengan npm
:
npm install -g bm-test-framework
Menjalankan pengujian
Setelah paket terinstal, Anda dapat menyediakan URL webhook sebagai variabel lingkungan dan menjalankan semua pengujian dengan perintah berikut:
BMTF_ENDPOINT_URL=<Your webhook URL> bm-test-framework
Hasil framework pengujian akan terlihat seperti ini:
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
Dalam contoh pengujian ini, semua kasus pengujian lulus.
Jika webhook Anda gagal pada salah satu kasus pengujian, artinya webhook Anda tidak merespons 200 OK
dengan payload JSON kasus pengujian tersebut. Dalam hal ini, framework
pengujian akan mencetak informasi error untuk membantu Anda melakukan debug. Lihat
README framework pengujian
untuk mempelajari kasus pengujian tertentu lebih lanjut.
Menggunakan framework dalam project NodeJS Anda
Untuk menggunakan framework dari dalam kode Anda sendiri dalam project NodeJS, atau dari dalam rangkaian pengujian Mocha, instal paket tersebut terlebih dahulu sebagai dependensi pengembangan:
npm install --save-dev bm-test-framework
Setelah diinstal, Anda dapat membuat objek BmTestFramework
untuk mengelola pengujian:
const BmTestFramework = require('bm-test-framework');
const bmTestFramework = new BmTestFramework({endpointURL: <Your webhook URL>});
Array anggota payloads
berisi semua kasus pengujian. Anda dapat menggunakan
metode sendPayload
untuk menjalankan pengujian tertentu. Misalnya, kode berikut
menjalankan pengujian pertama dalam framework:
bmTestFramework.sendPayload(bmTestFramework.payloads[0])
Mengonfigurasi pengujian
Selain variabel lingkungan BMTF_ENDPOINT_URL
yang diperlukan, Anda juga dapat menetapkan variabel lingkungan opsional untuk menyesuaikan perilaku pengujian:
Variabel lingkungan | Nama kolom konfigurasi | Jenis | Deskripsi |
---|---|---|---|
BMTF_RANDOM_UUID | acakUuid | boolean | Jika true, menetapkan ID percakapan ke UUID acak dengan format yang valid. Jika salah, menetapkan semua ID percakapan ke "ID-Penempatan". |
BMT_ARPPU | timeout | Angka atau string waktu yang diformat | Menetapkan waktu tunggu dalam milidetik untuk setiap kasus pengujian. Waktu tunggu default adalah 2.000 md untuk setiap kasus pengujian. Lihat referensi Mocha API untuk mengetahui detail jenis dan spesifikasi pemformatan. |
Misalnya, kode berikut menjalankan framework pengujian dari command line dengan opsi UUID acak yang diaktifkan dan waktu tunggu 1000 md:
BMTF_ENDPOINT_URL=<Your webhook URL> BMTF_TIMEOUT=1000 BMTF_RANDOM_UUID=true bm-test-framework
Untuk menyesuaikan perilaku pengujian dalam project NodeJS, Anda juga dapat meneruskan variabel yang sama ke dalam objek config
saat membuat BmTestFramework
:
const bmTestFramework = new BmTestFramework({endpointURL: <Your webhook URL>, randomUuid: true, timeout: 1000});