البدء

من التقرير إلى الأسطر التي لا يختبرها أحد

ست خطوات، هي نفسها في كلا المحررين. لا يشغّل Coverage Studio اختبارات خاصة به: يقرأ التقرير الذي تكتبه أدواتك أصلًا ويضعه على الكود — في VS Code، وفي Visual Studio 2022 و2026 على Community وProfessional وEnterprise سواء. كل خطوة هي أيضًا صفحة داخل المحرر مع زر لها: الجولة الإرشادية في VS Code، وTools → Coverage Studio → Getting Started في Visual Studio.

لم تثبّته بعد؟ نزّل البناء الخاص بمحررك — Community أو Pro لـ VS Code، أو إصدار Visual Studio — وعد إلى هنا؛ يحوي دليل المستخدم خطوات التثبيت لكليهما. تفضّل التجربة قبل ربط مشروعك؟ يحوي المشروع التوضيحي تقريرًا جاهزًا.

1افتح مشروعًا فيه تقرير تغطية

أيٌّ من التنسيقات الـ 25 يفي بالغرض — LCOV وCobertura وllvm-cov وOpenCover وcoverage.py وIstanbul وغيرها. إن لم يكن لديك أيٌّ منها، ففي المشروع التوضيحي تقارير لـ C وC++‎ (clang وMSVC) وC#‎ وVisual Basic وTypeScript وJavaScript وPython.

في VS Code

File → Open Folder، أو ملف مساحة العمل. تظهر أيقونة Coverage في شريط الأنشطة بمجرد تفعيل الإضافة.

في Visual Studio

حل، أو مجلد (File → Open → Folder، وهكذا يُفتح مشروع CMake). تُحمَّل الإضافة معه؛ وView → Other Windows → Coverage هي نافذتها.

2حمّل التقرير

التقرير الموجود في مكان معتاد — coverage/lcov.info وcoverage.xml وcoverage-final.json وغيرها من الأسماء المعروفة، أو حيث تشير الإعدادات — يُعثر عليه ويُحمَّل من تلقاء نفسه. إن كان تقريرك في مكان آخر، فاختره مرة واحدة وسيُتذكَّر.

في VS Code

لوحة الأوامر → Fucini Coverage: Load Coverage، أو Pick Coverage File لاختيار ملف. يتعرّف Run Tests with Coverage على vitest وjest وpytest وgo وcargo وdotnet وmaven وgradle وphpunit وctest، ويشغّلها مع التغطية ويحمّل ما تكتبه.

في Visual Studio

Tools → Coverage Studio → Load Coverage File…، مرة واحدة. يخبرك جزء Fucini Coverage في نافذة Output بالملفات التي بُحث عنها ووُجدت. شغّل اختباراتك كالمعتاد؛ ويعيد Watch Coverage File التحميل عند تغيّر التقرير.

3شاهده في المحرر

افتح ملف مصدر. الأحمر سطر لم يُنفَّذ قط، والكهرماني قرار اتُّخذ في اتجاه واحد فقط. افتراضيًا تُعلَّم هذه النتائج فقط؛ وتلوّن الخريطة الحرارية كل سطر بحسب عدد مرات تنفيذه، وتكتب عدّادات التنفيذ المضمّنة الرقم بعده.

في VS Code

Toggle Coverage Painting يشغّل العلامات ويطفئها؛ وfuciniCoverage.editorGutter.mode يختار uncovered أو heatmap، وhitCounts.inline العدّادات. التشغيل موجود أيضًا في عرض Coverage وفي لوحة Test Coverage الخاصة بـ VS Code.

في Visual Studio

Tools → Coverage Studio → Show Coverage in Editor، ثم Gutter: Heatmap أو Show Inline Hit Counts كما تشاء. تنطبق الإعدادات نفسها — يقرأ إصدار Visual Studio ملف .vscode/settings.json الخاص بك.

4تنقّل بين الثغرات

اقفز من موضع غير مختبَر إلى التالي بدل التمرير بحثًا عن الأحمر. يخبرك السطر فوق كل دالة بمقدار ما نُفِّذ منها — وبتعقيدها ودرجة CRAP وMC/DC حيث يحملها التقرير. والتمرير فوق سطر معلَّم يخبرك بالكلمات أي فرع لم يُسلك.

في VS Code

Next Uncovered هو Alt+N، والسابق Alt+P؛ وينتقل Next Partly-Tested Decision إلى القرار التالي الذي سُلكت بعض فروعه فقط.

في Visual Studio

أوتار بضغطتين بعد Ctrl+Shift+U: N وP للسطر غير المغطى التالي والسابق، وB للقرار التالي المختبَر جزئيًا — وليس Alt+N، لأن Alt مع حرف يفتح قائمة في Visual Studio. غيّرها تحت Tools → Options → Keyboard.

5اقرأ الأرقام

كل ملف بمقاييسه — الأسطر والفروع والدوال وMC/DC — ونتيجة واحدة لها جميعًا: متوسط توافقي مرجّح لا يُشترى بتغطية الأسطر وحدها. يعرض شريط الحالة تلك النتيجة للتشغيل وللملف الذي أنت فيه؛ ضع المؤشر عليه للبطاقة الكاملة.

في VS Code

عرض Coverage في شريط الأنشطة: رتّب، اطوِ، أخفِ الأعمدة، وانقر ملفًا لفتحه. يسرد Show Worst-Covered Files و…Functions من أين تبدأ.

في Visual Studio

View → Other Windows → Coverage هي الشجرة نفسها، والنتيجة في عنوانها؛ انقر صفًا بالزر الأيمن لفتحه أو نسخ مساره. يفتح Show Coverage Card بطاقة شريط الحالة دون مؤشر.

6حدّد عتباتك

قل ما يكفي: حدًا أدنى لكل مقياس، أو ملف أمان يطلب 100 % من كل شيء. تقول البطاقة عندها COMPLIANT أو NON-COMPLIANT مقارنةً بها، وتسري العتبات نفسها في كلا المحررين لأنها الإعدادات نفسها.

في VS Code

يفتح Configure Coverage Compliance الإعدادات؛ ويعطي Check Coverage Thresholds الحكم كأمر، لخطاف pre-commit أو خط أنابيب.

في Visual Studio

يفتح الترس في شريط أدوات نافذة Coverage نافذة الإعدادات، التي تكتب إعدادات المستخدم لهذا الإصدار أو .vscode/settings.json الخاص بالمجلد، كما يقول محدِّد Write changes to فيها.

من هنا: دليل المستخدم لكل ما تبقى — التنسيقات، الدمج، إعادة تعيين المسارات، النتيجة، تقرير HTML — والأسئلة الشائعة للخطط والتراخيص. إصدار Visual Studio مشمول في كل خطة مدفوعة؛ والجهاز الذي فُعِّل فيه VS Code لا يحتاج إلى شيء آخر، ويقبل Tools → Coverage Studio → Licence… رمز اشتراك حيث لم يُفعَّل.