Webhook'unuzu geliştirirken, gerçek Business Mesaj yükleri. Manuel olarak test oluşturmak yerine, Webhook'unuzu çeşitli JSON yük türleriyle test etmek için Mesajlar test çerçevesi webhook'unuz üretimde alınabilir.
Başlamak için ihtiyacınız olan tek şey bir URL çalışan bir örneğidir. Test çerçevesi kolayca kurulur ve tek bir komutla webhook'unuzu test edebilirsiniz.
Başlarken
Çerçeveyi yükleme
Çerçeveyi yüklemenin en kolay yolu NPM paket yöneticisini kullanmaktır.
Çerçeve, NPM paketi kayıt defterinde yayınlanır, böylece yükleyebilirsiniz
npm
ile:
npm install -g bm-test-framework
Testleri yapın
Paket yüklendiğinde webhook URL'nizi ortam olarak sağlayabilirsiniz. değişkenini çalıştırın ve tüm testleri aşağıdaki komutla çalıştırın:
BMTF_ENDPOINT_URL=<Your webhook URL> bm-test-framework
Test çerçevesinin sonuçları aşağıdaki gibi görünür:
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
Bu örnek test çalıştırmasında, tüm test durumları başarılı olmuştur.
Webhook'unuz test durumlarından birinde başarısız olursa bu, webhook'unuzun
bu test durumunun JSON yüküne 200 OK
ile yanıt verir. Bu durumda, test
çerçeve, hata ayıklamanıza yardımcı olmak için hata bilgilerini yazdırır. Bkz.
test çerçevesi README
belirli test durumları hakkında daha fazla bilgi edinin.
Çerçeveyi NodeJS projenizde kullanın
Çerçeveyi bir NodeJS projesinde kendi kodunuzdan veya bir Mocha test paketi kullanıyorsanız ilk olarak paketi bir geliştirme bağımlılık:
npm install --save-dev bm-test-framework
Yüklendikten sonra, testleri yönetmek için bir BmTestFramework
nesnesi oluşturabilirsiniz:
const BmTestFramework = require('bm-test-framework');
const bmTestFramework = new BmTestFramework({endpointURL: <Your webhook URL>});
payloads
üye dizisi tüm test durumlarını içerir. URL parametrelerinin Google tarafından nasıl ele alınmasını istediğinizi belirtmek için
sendPayload
yöntemini kullanın. Örneğin, aşağıdaki kod
çerçevedeki ilk testi çalıştırır:
bmTestFramework.sendPayload(bmTestFramework.payloads[0])
Testleri yapılandırma
Zorunlu BMTF_ENDPOINT_URL
ortam değişkenine ek olarak,
test davranışını özelleştirmek için isteğe bağlı ortam değişkenleri de ayarlayın:
Ortam değişkeni | Yapılandırma alanı adı | Tür | Açıklama |
---|---|---|---|
BMTF_RANDOM_UUID | randomUuid | boolean | True (doğru) ise görüşme kimliğini geçerli bir biçime sahip rastgele bir UUID olarak ayarlar. Yanlış değerine ayarlanırsa tüm görüşme kimlikleri "CONVERSATION-ID" olarak ayarlanır. |
BMTF_TIMEOUT | Mola | Sayı veya biçimlendirilmiş zaman dizesi | Her test durumu için zaman aşımını milisaniye cinsinden ayarlar. Her test durumu için varsayılan zaman aşımı süresi 2.000 ms'dir. Ayrıntılı tür ve biçimlendirme spesifikasyonları için Mocha API referansına bakın. |
Örneğin, aşağıdaki kod komut satırından test çerçevesini çalıştırır rastgele UUID seçeneği etkinleştirilmiş ve 1.000 ms'lik bir zaman aşımı ile:
BMTF_ENDPOINT_URL=<Your webhook URL> BMTF_TIMEOUT=1000 BMTF_RANDOM_UUID=true bm-test-framework
NodeJS projenizdeki test davranışını özelleştirmek için
BmTestFramework
öğesini oluştururken aynı değişkenleri config
nesnesine ekleyin:
const bmTestFramework = new BmTestFramework({endpointURL: <Your webhook URL>, randomUuid: true, timeout: 1000});