The Chromium Chronicle #18: تقرير Chromium Code Coverage

الحلقة 18: من تأليف "فينيتا جوشي" و"براخار أستانا" في ماونتن فيو، كاليفورنيا (شباط/فبراير 2021)
الحلقات السابقة

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

يستطيع النص البرمجي للتغطية إنشاء تقارير تغطية الرمز البرمجي من خلال أمر واحد فقط بدون انتظار تحديث واجهة مستخدم Gerrit. هذا النص البرمجي متاح حاليًا على أنظمة التشغيل Linux وMac وiOS وChromeOS.

فيما يلي مثال على الاستخدام:

$ gn gen out/coverage \
    --args='use_clang_coverage=true is_component_build=false'
$ python tools/code_coverage/coverage.py \
    crypto_unittests url_unittests \
    -b out/coverage -o out/report \
    -c 'out/coverage/crypto_unittests' \
    -c 'out/coverage/url_unittests --gtest_filter=URLParser.PathURL' \
    -f url/ -f crypto/

يؤدي هذا الإجراء إلى إنشاء crypto_unittests وurl_unittests targets وتشغيله. بالنسبة url_unittests، يتم تشغيل اختبار URLParser.PathURL فقط. التغطية تمت فلترة التقرير ليتضمن فقط الملفات والأدلة الفرعية ضمن url/. وcrypto/. بالإضافة إلى أتمتة العملية، يوفر هذا النص البرمجي ميزات إضافية لعرض تغطية الرمز حسب الأدلة والمكوّنات.

لقطة شاشة لناتج من النص البرمجي للتغطية. طريقة عرض الدليل
لقطة شاشة لناتج من النص البرمجي للتغطية. عرض المكوِّن

توفّر أداة تغطية الرموز تفاصيل تغطية الرموز البرمجية حسب الدليل ومكون لقاعدة التعليمات البرمجية بالكامل، لأنظمة التشغيل Windows وiOS وAndroid وLinux نظام التشغيل ChromeOS.

مشاركة ملاحظاتك: يُرجى التواصل مع "code-coverage @ chromium.org" أو الإبلاغ عن خطأ. على crbug.com.

الموارد