টেস্ট

Google ট্যাগ ম্যানেজার কাস্টম টেমপ্লেটগুলির জন্য ইউনিট পরীক্ষাগুলি আপনাকে আপনার টেমপ্লেটগুলির কার্যকারিতা যাচাই করতে সহায়তা করে৷ আপনি প্রতিটি টেমপ্লেটের জন্য পরীক্ষার একটি সেট তৈরি করতে পারেন যা আপনার ট্যাগ স্থাপনের প্রয়োজন ছাড়াই চালানো যেতে পারে, যা আপনাকে বিকাশের সময় আপনার টেমপ্লেটের আচরণ ক্রমাগত পরীক্ষা করতে দেয়। প্রতিটি পরীক্ষা নমুনা ইনপুট মান, উপহাস ফাংশন কল, এবং জাহির কোড আচরণ প্রদান করতে পারে।

সীমাবদ্ধতা

  • ইউনিট পরীক্ষাগুলি বৈধকরণের নিয়মগুলি পরীক্ষা করে না তবে আপনি রান কোড বোতাম ব্যবহার করে ম্যানুয়ালি বৈধতা পরীক্ষা করতে পারেন।
  • ইউনিট পরীক্ষায় মকড এপিআইগুলিতে অনুমতি চেক ঘটবে না।

এই নির্দেশিকা আপনাকে আপনার কাস্টম টেমপ্লেটের জন্য ইউনিট পরীক্ষা কীভাবে লিখতে হয় তার মধ্যে নিয়ে যাবে। এই উদাহরণটি একটি পরিবর্তনশীল টেমপ্লেট তৈরি করে যা একটি ইনপুট স্ট্রিং নেয় এবং সেই স্ট্রিংয়ের বড় হাতের সংস্করণটি ফেরত দেয়।

  1. একটি নতুন পরিবর্তনশীল টেমপ্লেট তৈরি করুন। বাম নেভিগেশনে টেমপ্লেট ক্লিক করুন এবং পরিবর্তনশীল টেমপ্লেট বিভাগের অধীনে নতুন ক্লিক করুন।

  2. ক্ষেত্রগুলিতে ক্লিক করুন।

  3. ক্ষেত্র যোগ করুন ক্লিক করুন এবং পাঠ্য ইনপুট নির্বাচন করুন। ক্ষেত্রটির নাম text1 এবং প্রদর্শনের নামটি "টেক্সট 1" এ সেট করুন।

  4. কোড ট্যাবে, এই স্যান্ডবক্সযুক্ত জাভাস্ক্রিপ্ট দিয়ে ডিফল্ট কোড প্রতিস্থাপন করুন:

    let input = data.text1;
    return input.toUpperCase();
    
  5. টেস্টিং ট্যাব খুলতে টেস্টে ক্লিক করুন।

  6. পরীক্ষা যোগ করুন ক্লিক করুন এবং পরীক্ষার নাম "শিরোনামহীন পরীক্ষা 1" থেকে "হ্যান্ডেল স্ট্রিং" এ পরিবর্তন করুন।

  7. পরীক্ষার স্যান্ডবক্সযুক্ত জাভাস্ক্রিপ্ট সম্পাদকটি প্রকাশ করতে প্রসারিত আইকনে ক্লিক করুন ( )। এই স্যান্ডবক্সযুক্ত জাভাস্ক্রিপ্ট দিয়ে কোড প্রতিস্থাপন করুন:

    // 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 API একটি বস্তু প্রদান করে যা একটি বিষয়ের মান সম্পর্কে সাবলীলভাবে দাবী করতে ব্যবহার করা যেতে পারে।

  8. পরীক্ষা চালানোর জন্য ▶ রান টেস্টে ক্লিক করুন। পরীক্ষার আউটপুট কনসোলে প্রদর্শিত হবে।

    ▶ রান টেস্ট বোতামটি দেখানো ক্রমে টেমপ্লেটের সমস্ত সক্ষম পরীক্ষা চালায়। অর্ডার পরিবর্তন করতে, ড্র্যাগ আইকন (⠿) ব্যবহার করুন। পরীক্ষার নামের বাম দিকে বৃত্তে ক্লিক করে একটি পরীক্ষা সাময়িকভাবে সক্ষম বা নিষ্ক্রিয় করা যেতে পারে। একটি একক পরীক্ষা চালানোর জন্য, ▶ বোতামটি ক্লিক করুন যা আপনি পরীক্ষার উপর মাউস নাড়ালে প্রদর্শিত হবে।

    কনসোলে মোট পরীক্ষা চালানোর সংখ্যা এবং ব্যর্থ হওয়া পরীক্ষার সংখ্যা, যদি থাকে তবে প্রিন্ট করা উচিত। এই ক্ষেত্রে, শুধুমাত্র একটি পরীক্ষা চালানো হয়েছিল এবং এটি পাস করা উচিত।

  9. একটি দ্বিতীয় পরীক্ষা যোগ করতে আবার পরীক্ষা যোগ করুন ক্লিক করুন. পরীক্ষার নাম "শিরোনামহীন পরীক্ষা 2" থেকে "হ্যান্ডলস অনির্ধারিত" এ পরিবর্তন করুন।

  10. এটি প্রসারিত করতে পরীক্ষাটিতে ক্লিক করুন এবং স্যান্ডবক্সযুক্ত জাভাস্ক্রিপ্ট সম্পাদকটি প্রকাশ করুন৷ সম্পাদকে স্যান্ডবক্সযুক্ত জাভাস্ক্রিপ্ট লিখুন:

    let variableResult = runCode({});
    assertThat(variableResult).isEqualTo(undefined);
    
  11. একযোগে সব পরীক্ষা চালানোর জন্য ▶ রান টেস্টে ক্লিক করুন। পরীক্ষার আউটপুট কনসোলে প্রদর্শিত হবে।

    হ্যান্ডেল অনির্ধারিত পরীক্ষা ব্যর্থ হওয়া উচিত। অভিনন্দন, আপনি একটি বাগ খুঁজে পেয়েছেন!

  12. ফিরে যেতে কোডে ক্লিক করুন এবং টেমপ্লেটের স্যান্ডবক্সযুক্ত জাভাস্ক্রিপ্ট কোড সম্পাদনা করুন। নিম্নরূপ স্যান্ডবক্সযুক্ত জাভাস্ক্রিপ্ট আপডেট করুন:

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

    আপডেট করা কোডটি ব্যবহার করার আগে input ভেরিয়েবলকে যাচাই করার সর্বোত্তম অনুশীলন অনুসরণ করে।

  13. টেস্ট কেসের তালিকায় ফিরে যেতে টেস্টে ক্লিক করুন।

  14. ▶ সমস্ত টেস্ট কেস আবার চালানোর জন্য রান টেস্টে ক্লিক করুন। এই সময় হ্যান্ডলগুলি অনির্ধারিত পরীক্ষায় উত্তীর্ণ হওয়া উচিত।

  15. সেভ এ ক্লিক করুন এবং টেমপ্লেট এডিটর বন্ধ করুন।