Webhook'unuzu geliştirirken gerçek İşletme Mesajları yükünü test etmek isteyebilirsiniz. Manuel olarak test oluşturmak yerine, webhook'unuzu üretimde alabileceğiniz çeşitli JSON yük türleriyle webhook'unuzu test etmek için Business Messages test çerçevesini kullanabilirsiniz.
Başlamak için ihtiyacınız olan tek şey webhook'unuzun çalışan bir URL'sidir. Test çerçevesini yüklemek kolaydır ve webhook'unuzu tek bir komutla test edebilirsiniz.
Başlarken
Çerçeveyi yükleme
Çerçeveyi yüklemenin en kolay yolu NPM paket yöneticisidir.
Çerçeve, NPM paket kayıt defterinde yayınlanır. Böylece, çerçeveyi npm
ile yükleyebilirsiniz:
npm install -g bm-test-framework
Testleri çalıştırma
Paket yüklendiğinde, webhook URL'nizi ortam değişkeni olarak sağlayabilir ve tüm testleri aşağıdaki komutla çalıştırabilirsiniz:
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ı geçti.
Webhook'unuz test durumlarından birinde başarısız olursa webhook'unuz bu test durumu JSON yüküne bir 200 OK
yanıtı vermez. Bu durumda test çerçevesi, hata ayıklamanıza yardımcı olmak için hata bilgilerini yazdırır. Belirli test durumları hakkında daha fazla bilgi edinmek için README test çerçevesi konusuna bakın.
NodeJS projenizdeki çerçeveyi kullanma
Çerçevesi bir NodeJS projesindeki kendi kodunuzdan veya bir Mocha test paketinden kullanmak için önce paketi, geliştirme bağımlılığı olarak yükleyin:
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. Belirli bir test çalıştırmak için sendPayload
yöntemini kullanabilirsiniz. Örneğin, aşağıdaki kod çerçevedeki ilk testi çalıştırır:
bmTestFramework.sendPayload(bmTestFramework.payloads[0])
Testleri yapılandırma
Gerekli BMTF_ENDPOINT_URL
ortam değişkeninin yanı sıra test davranışını özelleştirmek için isteğe bağlı ortam değişkenleri de belirleyebilirsiniz:
Ortam değişkeni | Yapılandırma alanı adı | Tür | Açıklama |
---|---|---|---|
BMTF_RANDOM_UUID | Rastgele Uuid | boolean | True (Doğru) ise ileti dizisi kimliğini geçerli bir biçime sahip, rastgele hale getirilmiş bir UUID olarak ayarlar. Yanlışsa tüm görüşme kimliklerini "conv-ID" olarak ayarlar. |
BMTF_TIMEOUT | zaman aşımı | Sayı veya biçimlendirilmiş zaman dizesi | Her test durumu için zaman aşımını milisaniye cinsinden ayarlar. Varsayılan zaman aşımı her test durumu 2.000 ms'dir. Tür ve biçimlendirme özellikleri için Mocha API referansı sayfasına bakın. |
Örneğin, aşağıdaki kod, rastgele UUID seçeneğinin etkin olduğu ve 1.000 ms'lik bir zaman aşımıyla komut satırından test çerçevesini çalıştırır:
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 aynı değişkenleri BmTestFramework
öğenizi oluştururken config
nesnesine de iletebilirsiniz:
const bmTestFramework = new BmTestFramework({endpointURL: <Your webhook URL>, randomUuid: true, timeout: 1000});