كيفية تضمين أوصاف حالة الاختبار في مخرجات تغطية كود lcov/genhtml

StackOverflow https://stackoverflow.com//questions/12717239

  •  13-12-2019
  •  | 
  •  

سؤال

أنا أستخدم lcov لإنشاء تقارير تغطية التعليمات البرمجية لقاعدة كود C.أرغب في دمج أوصاف الاختبار في الإخراج النهائي (باستخدام الأداة المساعدة lcov's gendesc.)

ومع ذلك، ليس لدي أدنى فكرة عن كيفية القيام بذلك، والوثائق المتعلقة بالجنس تبدو قليلة إلى حد ما (بقدر ما تمكنت جوجل القديمة الجيدة من إخباري).

ال معلومات Gendesc في LTP يصف كيفية إنشاء ملفات وصف حالة اختبار الإدخال (كما هو متوقع بواسطة genhtml).و ال معلومات جين أتش تي أم أل يوفر --show-descriptions, ، و --description-file لإدخال ملفات وصف حالة الاختبار هذه.

ومع ذلك، لا أعرف كيفية الرجوع إلى حالات الاختبار حتى يتم تضمينها في التقرير النهائي.genhtml يراهم على أنهم حالات الاختبار غير المستخدمة وبالتالي يبقيهم خارج مخرجات HTML التي تم إنشاؤها.استطيع ان استخدم --keep-descriptions, ، لكن هذا لا يخبرني بحالات الاختبار التي تم تشغيلها (من الواضح أنني لا أعرف كيفية عمل المرجع من الكود إلى وصف الاختبار.)

إذًا، كيف يمكننا إخبار lcov/genhtml ما هي الاختبارات التي تم إجراؤها في الإخراج النهائي؟أيه أفكار؟

هل كانت مفيدة؟

المحلول

لربط اسم حالة اختبار ببيانات التغطية، حدد هذا الاسم أثناء جمع بيانات التغطية باستخدام خيار --test-name الخاص بـ lcov:

lcov --capture --directory project-dir --output-file coverage.info --test-name "test01"

ثم تابع الخطوات التي ذكرتها بالفعل، وهي إنشاء ملف وصف حالة اختبار "tests.txt":

test01
    Some test

قم بتحويله إلى التنسيق المتوقع بواسطة genhtml:

gendesc tests.txt --output-filename tests.desc

أخيرًا حدد ملف الأوصاف إلى genhtml:

genhtml coverage.info --output-directory out --description-file tests.desc --show-details
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top