الاختبارات

تساعدك اختبارات الوحدات للنماذج المخصّصة لأداة "إدارة العلامات من Google" في التحقّق من وظائف النماذج. يمكنك إنشاء مجموعة من الاختبارات لكل نموذج يمكن تشغيلها بدون الحاجة إلى نشر علامتك، ما يتيح لك اختبار سلوك النموذج باستمرار أثناء التطوير. يمكن لكل اختبار وتوفير نماذج لقيم الإدخال واستدعاءات الدوال الوهمية وتأكيد سلوك الرمز البرمجي.

القيود

  • لا تتحقّق اختبارات الوحدة من قواعد التحقّق، ولكن يمكنك التحقّق منها يدويًا باستخدام الزر تشغيل الرمز.
  • ولا يتم إجراء عمليات التحقّق من الأذونات على محاكاة واجهات برمجة التطبيقات في اختبارات الوحدات.

سيرشدك هذا الدليل إلى كيفية كتابة اختبارات الوحدة لنموذجك المخصّص. ينشئ هذا المثال نموذجًا متغيرًا يأخذ سلسلة إدخال ويعرض الإصدار المكتوب بالأحرف الكبيرة لتلك السلسلة.

  1. أنشئ نموذج متغيّر جديد. انقر على النماذج في شريط التنقّل الأيمن، ثم انقر على جديد ضمن قسم نماذج المتغيّر.

  2. انقر على الحقول.

  3. انقر على إضافة حقل واختَر إدخال النص. أدخِل اسمًا للحقل text1 واضبط الاسم المعروض على "Text 1" (النص 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. انقر على حفظ، ثم أغلِق "محرِّر النماذج".