Podczas tworzenia webhooka możesz przetestować go za pomocą ładunków firmowych wiadomości. Zamiast ręcznie tworzyć testy, możesz użyć platformy testu wiadomości biznesowych, aby przetestować webhooka z różnymi typami ładunków JSON, które webhook może otrzymywać w środowisku produkcyjnym.
Aby rozpocząć, potrzebujesz adresu URL działającego instancji webhooka. Platformę testową można łatwo zainstalować, a webhooka możesz przetestować za pomocą jednego polecenia.
Pierwsze kroki
Instalowanie platformy
Najłatwiejszym sposobem zainstalowania platformy jest menedżer pakietów pakietu NPM.
Platforma jest opublikowana w rejestrze pakietów NPM, dzięki czemu możesz ją zainstalować za pomocą npm
:
npm install -g bm-test-framework
Przeprowadź testy
Po zainstalowaniu pakietu możesz podać adres URL webhooka jako zmienną środowiskową i uruchom wszystkie testy za pomocą tego polecenia:
BMTF_ENDPOINT_URL=<Your webhook URL> bm-test-framework
Wyniki testu testowego wyglądają tak:
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
W tym przykładowym wyniku wszystkie przypadki testowe zostały zaliczone.
Jeśli webhook nie przejdzie do jednego z przypadków testowych, oznacza to, że Twój webhook nie odpowiada 200 OK
na ładunek JSON danego przypadku testowego. W takim przypadku grafika testowa zawiera informacje o błędach, które ułatwiają debugowanie. Więcej informacji o określonych przypadkach testowych znajdziesz w platformie README.
Użyj platformy w projekcie NodeJS
Aby użyć platformy z własnego kodu w projekcie Node.js lub z pakietu testowego Mocha, najpierw zainstaluj pakiet jako zależność programistyczną:
npm install --save-dev bm-test-framework
Po zainstalowaniu możesz utworzyć obiekt BmTestFramework
, aby zarządzać testami:
const BmTestFramework = require('bm-test-framework');
const bmTestFramework = new BmTestFramework({endpointURL: <Your webhook URL>});
Tablica elementów payloads
zawiera wszystkie przypadki testowe. Aby przeprowadzić określony test, możesz użyć metody sendPayload
. Na przykład ten kod uruchamia pierwszy test w ramach platformy:
bmTestFramework.sendPayload(bmTestFramework.payloads[0])
Skonfiguruj testy
Oprócz wymaganej zmiennej środowiskowej BMTF_ENDPOINT_URL
możesz też ustawić opcjonalne zmienne środowiskowe, aby dostosować działanie testowe:
Zmienna środowiskowa | Nazwa pola konfiguracji | Typ | Opis |
---|---|---|---|
BMTF_RANDOM_UUID | Losowy identyfikator użytkownika | wartość logiczna | Jeśli ustawisz wartość Prawda, ustawiasz losowy identyfikator UUID w prawidłowym formacie. Jeśli ma wartość Fałsz, wszystkie identyfikatory rozmów są ustawione na „"Conversation-ID"”. |
BMTF_TIMEOUT | przekroczono limit czasu | Liczba lub sformatowany ciąg czasowy | Ustawia czas oczekiwania w milisekundach dla każdego przypadku testowego. Domyślny limit czasu oczekiwania na test to 2000 ms. Szczegółowe informacje o typach i formatowaniu znajdziesz w dokumentacji interfejsu Mocha API. |
Na przykład ten kod uruchamia platformę testową z wiersza polecenia z włączoną opcją losowego identyfikatora UUID i limitem czasu oczekiwania 1000 ms:
BMTF_ENDPOINT_URL=<Your webhook URL> BMTF_TIMEOUT=1000 BMTF_RANDOM_UUID=true bm-test-framework
Aby dostosować działanie testowe w projekcie Node.js, możesz też utworzyć te same zmienne w obiekcie config
podczas tworzenia obiektu BmTestFramework
:
const bmTestFramework = new BmTestFramework({endpointURL: <Your webhook URL>, randomUuid: true, timeout: 1000});