जांच

Google Tag Manager के कस्टम टेंप्लेट के लिए यूनिट टेस्ट की मदद से, टेंप्लेट के फ़ंक्शन की पुष्टि करने में मदद मिलती है. हर टेंप्लेट के लिए टेस्ट का एक सेट बनाया जा सकता है जिन्हें आपका टैग डिप्लॉय किए बिना चलाया जा सकता है. इसकी मदद से, डेवलपमेंट के दौरान अपने टेंप्लेट के व्यवहार की लगातार जांच करना. हर टेस्ट में ये काम किए जा सकते हैं सैंपल इनपुट वैल्यू, मॉक फ़ंक्शन कॉल, और कोड के व्यवहार का अनुरोध करें.

सीमाएं

  • यूनिट टेस्ट में, पुष्टि करने के नियमों की जांच नहीं की जाती. हालांकि, कोड चलाएं बटन का इस्तेमाल करके, मैन्युअल तरीके से पुष्टि की जा सकती है.
  • यूनिट टेस्ट में, मॉक किए गए एपीआई पर अनुमति की जांच नहीं की जाती.

इस गाइड में, कस्टम टेंप्लेट के लिए यूनिट टेस्ट लिखने का तरीका बताया गया है. इस उदाहरण से एक वैरिएबल टेंप्लेट बनाया जाता है, जो इनपुट स्ट्रिंग लेता है और नतीजे के तौर पर दिखाता है स्ट्रिंग के अपरकेस वर्शन का उपयोग कर सकते हैं.

  1. नया वैरिएबल टेंप्लेट बनाएं. बाईं ओर मौजूद नेविगेशन में, टेंप्लेट पर क्लिक करें और वैरिएबल टेंप्लेट सेक्शन में, नया पर क्लिक करें.

  2. फ़ील्ड पर क्लिक करें.

  3. फ़ील्ड जोड़ें पर क्लिक करें और टेक्स्ट इनपुट चुनें. text1 फ़ील्ड को नाम दें और डिसप्ले नेम को "Text 1" पर सेट करें.

  4. कोड टैब में, डिफ़ॉल्ट कोड को सैंडबॉक्स किए गए इस JavaScript से बदलें:

    let input = data.text1;
    return input.toUpperCase();
    
  5. टेस्टिंग टैब खोलने के लिए, जांच करें पर क्लिक करें.

  6. टेस्ट जोड़ें पर क्लिक करें और टेस्ट का नाम "बिना टाइटल वाला टेस्ट 1" से बदलकर "हैंडल स्ट्रिंग" करें.

  7. टेस्ट का सैंडबॉक्स किया गया JavaScript एडिटर देखने के लिए, 'बड़ा करें' आइकॉन () पर क्लिक करें. कोड को इस सैंडबॉक्स की गई JavaScript से बदलें:

    // Call runCode to run the template's code with a lowercase string
    let variableResult = runCode({text1: 'this is a test'});
    // Validate that the result of runCode is an uppercase string.
    assertThat(variableResult).isEqualTo('THIS IS A TEST');
    

    यह टेस्ट, वैरिएबल 'this is a test' को वैरिएबल में पास करता है. साथ ही, इस बात की पुष्टि करता है कि वैरिएबल अनुमानित 'THIS IS A TEST' वैल्यू दिखाता है या नहीं. runCode एपीआई का इस्तेमाल, कोड टैब में टेंप्लेट कोड को चलाने के लिए किया जाता है. runCode फ़ंक्शन में ऐसा ऑब्जेक्ट है जिसे डेटा ग्लोबल के तौर पर इस्तेमाल किया जाता है. assertThat एपीआई एक ऐसा ऑब्जेक्ट दिखाता है जिसका इस्तेमाल किसी विषय की वैल्यू के बारे में खुलकर दावे करने के लिए किया जा सकता है.

  8. टेस्ट करने के लिए, ▶ टेस्ट चलाएं पर क्लिक करें. जांच का आउटपुट, कंसोल में दिखेगा.

    ▶ चलाएं बटन, टेंप्लेट में चालू किए गए सभी टेस्ट को दिखाए गए क्रम में चलाता है. क्रम बदलने के लिए, खींचें और छोड़ें आइकॉन (⠿) का इस्तेमाल करें. जांच के नाम की बाईं ओर मौजूद सर्कल पर क्लिक करके, जांच को कुछ समय के लिए चालू या बंद किया जा सकता है. कोई एक परीक्षण करने के लिए, परीक्षण पर माउस ले जाने पर दिखाई देने वाले ▶ बटन पर क्लिक करें.

    कंसोल को चलाए जाने वाले परीक्षणों की कुल संख्या और असफल जांचों की संख्या (अगर कोई हो) प्रिंट करनी चाहिए. इस मामले में, सिर्फ़ एक टेस्ट चलाया गया और उसे पास होना चाहिए.

  9. दूसरा टेस्ट जोड़ने के लिए, टेस्ट जोड़ें पर फिर से क्लिक करें. टेस्ट का नाम "बिना टाइटल वाला टेस्ट 2" से बदलकर "हैंडल नहीं है" करें.

  10. टेस्ट को बड़ा करने के लिए उस पर क्लिक करें और सैंडबॉक्स किया गया JavaScript एडिटर देखें. एडिटर में सैंडबॉक्स की गई JavaScript डालें:

    let variableResult = runCode({});
    assertThat(variableResult).isEqualTo(undefined);
    
  11. सभी टेस्ट एक साथ चलाने के लिए, ▶ चलाएं पर क्लिक करें. जांच का आउटपुट, कंसोल में दिखेगा.

    हैंडल की जानकारी उपलब्ध नहीं है टेस्ट में फ़ेल हो जाना चाहिए. बधाई हो, आपको एक बग मिल गया!

  12. वापस जाने और टेंप्लेट के सैंडबॉक्स किए गए JavaScript कोड में बदलाव करने के लिए, कोड पर क्लिक करें. सैंडबॉक्स की गई JavaScript को नीचे बताए गए तरीके से अपडेट करें:

    const getType = require('getType');
    
    let input = data.text1;
    if (getType(input) !== 'string') {
      return input;
    }
    return input.toUpperCase();
    

    अपडेट किया गया कोड, input वैरिएबल का इस्तेमाल करने से पहले उसकी पुष्टि करने के सबसे सही तरीके का पालन करता है.

  13. टेस्ट केस की सूची पर वापस जाने के लिए, टेस्ट पर क्लिक करें.

  14. सभी टेस्ट केस को फिर से चलाने के लिए, ▶ चलाएं पर क्लिक करें. इस बार, हैंडल तय नहीं है वाली जांच पास हो जाएगी.

  15. सेव करें पर क्लिक करें और टेंप्लेट एडिटर बंद करें.