वेबहुक डेवलप करते समय, हो सकता है कि आप किसी कारोबार की मदद से उसकी जांच करना चाहें मैसेज के पेलोड. मैन्युअल रूप से टेस्ट बनाने के बजाय, अलग-अलग तरह के JSON पेलोड की मदद से, आपके वेबहुक की जांच करने के लिए Messages का फ़्रेमवर्क आपके वेबहुक को प्रोडक्शन में मिल सकता है.
शुरू करने के लिए, आपको बस एक यूआरएल की ज़रूरत होगी आपके वेबहुक का मौजूदा इंस्टेंस. टेस्ट फ़्रेमवर्क इंस्टॉल करने में आसान है तो आप एक निर्देश से अपने वेबहुक की जांच कर सकते हैं.
शुरू करना
फ़्रेमवर्क इंस्टॉल करना
फ़्रेमवर्क को इंस्टॉल करने का सबसे आसान तरीका, एनपीएम पैकेज मैनेजर का इस्तेमाल करना है.
यह फ़्रेमवर्क NPM पैकेज रजिस्ट्री में पब्लिश किया गया है, ताकि आप इसे इंस्टॉल कर सकें
npm
के साथ:
npm install -g bm-test-framework
टेस्ट करना
पैकेज इंस्टॉल करके, अपने वेबहुक यूआरएल को एनवायरमेंट के तौर पर उपलब्ध कराया जा सकता है वैरिएबल को एक्सपोर्ट करने की कोशिश करें और सभी टेस्ट को इस कमांड से चलाएं:
BMTF_ENDPOINT_URL=<Your webhook URL> bm-test-framework
टेस्ट फ़्रेमवर्क के नतीजे इस तरह दिखते हैं:
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
टेस्ट रन के इस उदाहरण में, सभी टेस्ट केस पास हो गए हैं.
अगर किसी टेस्ट केस में आपका वेबहुक काम नहीं करता, तो इसका मतलब है कि आपका वेबहुक
उस टेस्ट केस के JSON पेलोड के लिए, 200 OK
की मदद से जवाब दें. ऐसी स्थिति में, परीक्षण
फ़्रेमवर्क, गड़बड़ी की जानकारी को प्रिंट करता है, ताकि डीबग करने में आपकी मदद की जा सके. ज़्यादा जानकारी के लिए,
टेस्ट फ़्रेमवर्क README
देखें.
अपने NodeJS प्रोजेक्ट में फ़्रेमवर्क का इस्तेमाल करें
NodeJS प्रोजेक्ट में अपने कोड के अंदर से या मोका टेस्ट सुइट में, पहले पैकेज को डेवलपमेंट के तौर पर इंस्टॉल करें निर्भरता:
npm install --save-dev bm-test-framework
इंस्टॉल होने के बाद, टेस्ट मैनेज करने के लिए, BmTestFramework
ऑब्जेक्ट बनाया जा सकता है:
const BmTestFramework = require('bm-test-framework');
const bmTestFramework = new BmTestFramework({endpointURL: <Your webhook URL>});
payloads
सदस्य अरे में सभी टेस्ट केस शामिल होते हैं. Google आपके यूआरएल पैरामीटर को कैसे इस्तेमाल करेगा, यह तय करने के लिए
कोई खास टेस्ट करने के लिए, sendPayload
तरीका. उदाहरण के लिए, यह कोड
फ़्रेमवर्क में पहला टेस्ट करता है:
bmTestFramework.sendPayload(bmTestFramework.payloads[0])
जांच को कॉन्फ़िगर करना
ज़रूरी BMTF_ENDPOINT_URL
एनवायरमेंट वैरिएबल के अलावा, ये काम किए जा सकते हैं
टेस्ट के तरीके को पसंद के मुताबिक बनाने के लिए, वैकल्पिक एनवायरमेंट वैरिएबल भी सेट करें:
एनवायरमेंट वैरिएबल | कॉन्फ़िगरेशन फ़ील्ड का नाम | टाइप | ब्यौरा |
---|---|---|---|
BMTF_RANDOM_UUID | randomUuid | बूलियन | अगर सही है, तो बातचीत आईडी को मान्य फ़ॉर्मैट के साथ बिना किसी क्रम के यूयूआईडी पर सेट किया जाता है. अगर गलत है, तो सभी बातचीत आईडी को "CONVERSATION-ID" पर सेट करें. |
BMTF_TIMEOUT | टाइम आउट | संख्या या फ़ॉर्मैट की गई समय स्ट्रिंग | हर टेस्ट केस के लिए, मिलीसेकंड में टाइम आउट सेट करता है. हर टेस्ट केस के लिए, टाइम आउट की डिफ़ॉल्ट अवधि 2000 मि॰से॰ होती है. फ़ॉर्मैट और फ़ॉर्मैट से जुड़ी ज़्यादा जानकारी के लिए, Mocha API का रेफ़रंस देखें. |
उदाहरण के लिए, नीचे दिया गया कोड कमांड लाइन से टेस्ट फ़्रेमवर्क चलाता है जिसमें रैंडम UUID विकल्प चालू हो और समय 1000 मि॰से॰ से कम हो:
BMTF_ENDPOINT_URL=<Your webhook URL> BMTF_TIMEOUT=1000 BMTF_RANDOM_UUID=true bm-test-framework
अपने NodeJS प्रोजेक्ट में टेस्ट व्यवहार को पसंद के मुताबिक बनाने के लिए,
BmTestFramework
बनाते समय, config
ऑब्जेक्ट में वे ही वैरिएबल शामिल किए जाएंगे:
const bmTestFramework = new BmTestFramework({endpointURL: <Your webhook URL>, randomUuid: true, timeout: 1000});