Menguji webhook Anda

Saat mengembangkan webhook, sebaiknya Anda mengujinya dengan webhook Payload pesan. Daripada membuat pengujian secara manual, Anda dapat menggunakan Framework pengujian Message untuk menguji webhook Anda dengan berbagai jenis payload JSON yang dapat diterima webhook Anda dalam produksi.

Untuk memulai, yang Anda butuhkan hanyalah URL untuk instance webhook Anda yang sedang berjalan. Kerangka kerja pengujian mudah diinstal, dan Anda dapat menguji webhook dengan satu perintah.

Memulai

Menginstal framework

Cara termudah untuk menginstal framework adalah menggunakan 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 lingkungan variabel dan jalankan 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 berhasil.

Jika webhook Anda gagal di salah satu kasus pengujian, artinya webhook Anda tidak merespons payload JSON kasus pengujian tersebut dengan 200 OK. Dalam hal ini, pengujian framework mencetak informasi error untuk membantu Anda melakukan debug. Lihat framework pengujian README untuk mempelajari lebih lanjut kasus pengujian tertentu.

Menggunakan framework di project NodeJS Anda

Untuk menggunakan framework dari dalam kode Anda sendiri dalam project NodeJS, atau dari dalam rangkaian pengujian Mocha, pertama-tama instal paket sebagai dependensi:

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 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 dapat tetapkan juga variabel lingkungan opsional untuk menyesuaikan perilaku pengujian:

Variabel lingkungan Nama kolom Config Jenis Deskripsi
BMTF_RANDOM_UUID randomUuid boolean Jika benar, menetapkan ID percakapan ke UUID acak dengan format yang valid. Jika false, tetapkan semua ID percakapan ke "CONVERSATION-ID".
BMTF_TIMEOUT timeout Angka atau string waktu berformat 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 spesifikasi pemformatan dan jenis yang mendetail.

Misalnya, kode berikut menjalankan framework pengujian dari command line dengan opsi UUID acak diaktifkan dan dengan waktu tunggu 1.000 md:

BMTF_ENDPOINT_URL=<Your webhook URL> BMTF_TIMEOUT=1000 BMTF_RANDOM_UUID=true bm-test-framework

Untuk menyesuaikan perilaku pengujian di project NodeJS, Anda juga dapat meneruskan variabel yang sama ke dalam objek config saat Anda membuat BmTestFramework:

const bmTestFramework = new BmTestFramework({endpointURL: <Your webhook URL>, randomUuid: true, timeout: 1000});