قم بتنزيل هذا الامتداد من Visual Studio Market Place (مقابل 2019) أو Visual Studio Market Place (مقابل 2022) أو قم بالتنزيل من الإصدارات. يمكن الحصول على الإصدارات الأقدم من هنا.
بالنسبة لـ .Net - أن محولات الاختبار عبارة عن حزم nuget. على سبيل المثال، ملحق اختبار NUnit ليس كافيًا.
توفر Fine Code Coverage تغطية للتعليمات البرمجية باستخدام واحدة من 3 أدوات تغطية مختلفة. في الإصدارات السابقة، كان هناك أداتان للتغطية تم استخدامهما، OpenCover و Coverlet والتي سيتم الإشارة إليها باسم "التغطية القديمة".
توفر Microsoft الآن حل تغطية مجاني يمكنك اختيار استخدامه عن طريق تعيين خيار تعداد Visual Studio Fine Code Coverage RunMsCodeCoverage. من المحتمل أن تكون هذه أداة التغطية المفضلة لمعظم المطورين. وهو حاليا في مرحلة تجريبية.
مع التغطية القديمة، كان من الممكن للجنة الاتصالات الفيدرالية (FCC) تقديم فكرة عامة عن خيارات الاستبعاد/التضمين لكل أداة. لا يعمل هذا التجريد لتغطية كود MS.
وبالتالي ستجد أن هناك خيارات تكوين منفصلة لتغطية السيدة مقابل التغطية القديمة والخيارات المشتركة بين الاثنين. يمكن تحقيق الاستثناءات والتضمينات على مستوى التجميع - راجع ExcludeAssemblies وIncludeAssemblies. يتم تحديد التكوين (في الغالب) من خيارات Visual Studio وملفات Finecodecoverage-settings.xml وخصائص msbuild للمشروع. كل هذه الإعدادات اختيارية. بالنسبة للخيارات التي لها نطاق مشروع، تشكل هذه الإعدادات تسلسلًا هرميًا حيث يتم تجاوز المستويات الأدنى أو، بالنسبة للمجموعات، تجاوز أو دمج المستوى الأعلى. ويرد وصف هذا بالتفصيل في وقت لاحق.
بغض النظر عن أداة التغطية المستخدمة، تبدأ العملية بتفاعل لجنة الاتصالات الفيدرالية (FCC) مع مستكشف الاختبار في الاستوديو المرئي. توفر إحدى أدوات التغطية الثلاث نتائج التغطية ويمكن فتح النتائج من الأزرار الموجودة في نافذة أداة تغطية الكود الدقيق. هذه التغطية ليست ديناميكية وتمثل التغطية التي تم الحصول عليها من آخر مرة قمت فيها بتنفيذ الاختبارات. عندما تصبح التغطية قديمة، يمكنك النقر فوق الزر "FCC Clear UI" في الأدوات أو تشغيل التغطية مرة أخرى.
يمكن العثور على تفاصيل حول كيفية تقدم لجنة الاتصالات الفيدرالية (FCC) في تغطية التعليمات البرمجية في علامة التبويب سجل التغطية في نافذة أداة تغطية التعليمات البرمجية الدقيقة مع سجلات أكثر تفصيلاً في جزء نافذة إخراج لجنة الاتصالات الفيدرالية (FCC). إذا واجهت مشكلات، فإن توفير السجلات من نافذة الإخراج سيساعد على فهم طبيعة المشكلة.
قم بتقديم تقرير واحد موحد في نافذة أداة تغطية الكود الدقيق. يعرض التقرير تغطية الخطوط والفروع ونقاط المخاطر مع إمكانية فتح ملفات صفك.
هوامش ملونة للإشارة إلى حالة تغطية الكود الخاص بك. تكون أسطر التعليمات البرمجية المجهزة (المضمنة والقابلة للتحليل) إما مغطاة أو مكشوفة أو مغطاة جزئيًا مما يعني أنه لم يتم تنفيذ جميع الفروع.
توفر لجنة الاتصالات الفيدرالية (FCC) مفهوم المناطق المتسخة حيث لن يُظهر الكود الذي تم إعداده مسبقًا حالة الأدوات بمجرد قيامك بتغيير الكود.
بالنسبة لـ C# وVisual Basic، يوفر المزيد من معلومات التغطية:
تتيح لك لجنة الاتصالات الفيدرالية (FCC) أيضًا رؤية التعليمات البرمجية التي لم يتم تضمينها في التغطية والأسطر الجديدة التي تمت إضافتها منذ آخر تشغيل للتغطية.
يجب تشغيل تلوين الخطوط القذرة والجديدة في الخيارات.
إذا رغبت في ذلك، يمكن تمييز الخطوط أيضًا عن طريق ضبط خيارات Visual Studio المتاحة. واصل القراءة للحصول على مزيد من التفاصيل.
يمكن التحكم في الألوان عبر Visual Studio / الأدوات / الخيارات / البيئة / الخطوط والألوان / محرر النصوص / عناصر العرض:
بالنسبة لـ Visual Studio Community وProfessional وEnterprise، يمكنك استخدام الإعدادات
تغطية المنطقة التي تم لمسها من قبل لجنة الاتصالات الفيدرالية (FCC).
تغطية المنطقة التي تم لمسها جزئيًا من قبل لجنة الاتصالات الفيدرالية (FCC).
التغطية لم يتم لمس المنطقة من قبل لجنة الاتصالات الفيدرالية (FCC).
تغطية المنطقة القذرة FCC
تغطية منطقة الخطوط الجديدة FCC
التغطية غير متضمنة للمنطقة FCC
بالنسبة للإصدارات التي توفر العناصر الموجودة أدناه، ستستخدم لجنة الاتصالات الفيدرالية (FCC) هذه العناصر بشكل افتراضي على عناصر لجنة الاتصالات الفيدرالية (FCC) المكافئة بحيث يمكن استخدام الألوان المحددة في السمات. إذا كنت تريد أن تكون متسقًا مع العناصر الخمسة المتوفرة، فيمكنك ضبط UseEnterpriseFontsAndColors على false.
التغطية لم يتم لمس المنطقة
تغطية المنطقة التي تم لمسها جزئيًا
تغطية المنطقة التي تم لمسها
يمكنك إيقاف تشغيل تلوين المحرر عن طريق ضبط خيار الاستوديو المرئي EditorCoverageColouuringMode على Off. يمكنك أيضًا تعيين الخيار على DoNotUseRoslynWhenTextChanges إذا كانت هناك مشكلة في الأداء. من خلال القيام بذلك، لن يكون تلوين الخطوط الجديدة جيدًا. إذا قمت بالتبديل إلى أحد خيارات EditorCoverageColouuringMode، فستحتاج إلى إعادة تشغيل التغطية.
يمكنك تبديل تلوين المحرر. تضيف لجنة الاتصالات الفيدرالية (FCC) زر القائمة، Toggle Indicators، في قائمة Tools. يمكنك أيضًا إنشاء اختصار لوحة المفاتيح - الأدوات / الخيارات / البيئة / لوحة المفاتيح، وإظهار الأوامر التي تحتوي على "ToggleIndicators".
بالنسبة لمكونات Blazor ذات @code، يمكن إنشاء خطوط تغطية الكتل خارج هذه المناطق. عندما تكون شجرة بناء جملة Roslyn متاحة للجنة الاتصالات الفيدرالية (FCC)، يمكنك تعيين الخيار BlazorCoverageLinesFromGeneratedSource إلى true لتقييد خطوط التغطية في ملف .razor بتلك الموجودة في المصدر الذي تم إنشاؤه.
تتعقب لجنة الاتصالات الفيدرالية (FCC) محرر الاستوديو المرئي وتحفظ هذه المعلومات عند إغلاق الملف. إذا تغير النص خارج نافذة المستند عند إعادة فتح ملف، فلن تكون هناك علامات تغطية لهذا الملف حيث لم يعد من المتوقع أن تكون خطوط التغطية صحيحة.
لن تكون هناك أيضًا علامات محرر إذا قمت بتحرير ملف أثناء قيام لجنة الاتصالات الفيدرالية بجمع التغطية.
مع التغطية القديمة التي تحتاجها لجنة الاتصالات الفيدرالية (FCC) لنسخ ملف dll الخاص بالاختبار والتبعيات وتشغيل OpenCover أو Coverlet على تلك الملفات. هذا ليس ضروريًا مع تغطية كود MS. ستنتظر التغطية القديمة حتى تنتهي الاختبارات قبل بدء تشغيل أداة التغطية لإعادة تشغيل جميع الاختبارات. هذا ليس ضروريًا مع تغطية كود MS. التغطية القديمة كانت مبنية على كل اختبار. تغطية كود Ms هي تغطية من الاختبارات التي تحددها في مستكشف الاختبار.
يدعم سي++! لاحظ أن لجنة الاتصالات الفيدرالية (FCC) لم يتم اختبارها بشكل صحيح مع مشاريع C++، ولكن مع فئة C++ بسيطة، تم اختبارها باستخدام Google Test، توفر لجنة الاتصالات الفيدرالية (FCC) التغطية.
أولاً تحتاج إلى تغيير خيار RunMsCodeCoverage من No.
تتطلب تغطية التعليمات البرمجية لـ Ms ملف إعدادات التشغيل الذي تم تكوينه بشكل مناسب لتغطية التعليمات البرمجية. يتطلب هذا أن يكون لديك حزمة تغطية كود ms وأن تكون قد أشرت إليها باستخدام عنصر TestAdaptersPaths بالإضافة إلى تحديد أداة تجميع بيانات ms. يتم أيضًا تحديد الاستثناءات والإدراجات في إعدادات التشغيل. لا أعتقد أن الوثائق واضحة بما فيه الكفاية حول كيفية عمل ذلك لذا قد ترغب في إلقاء نظرة على هذه المشكلة.
لا تطلب منك لجنة الاتصالات الفيدرالية (FCC) القيام بذلك. إذا لم تقم بتوفير إعدادات التشغيل وكان RunMsCodeCoverage هو نعم، فستقوم لجنة الاتصالات الفيدرالية (FCC) بإنشاء واحدة وكتابة الإدخال الضروري في ملف المشروع.
لاحظ أن فتح ملف مشروع اختبار في الاستوديو المرئي أثناء تشغيل الاختبارات قد يؤدي إلى تحذير من التعارض عندما تقوم لجنة الاتصالات الفيدرالية بإزالة الإدخال في نهاية الاختبار. إذا كان RunMsCodeCoverage هو IfInRunSettings، فإذا كان المشروع يحتوي على إعدادات تشغيل تتضمن عنصر تجميع بيانات ms الذي تم تكوينه بشكل صحيح، فستقوم لجنة الاتصالات الفيدرالية (FCC) بمعالجة النتائج المجمعة.
تتضمن لجنة الاتصالات الفيدرالية (FCC) حزمة تغطية كود ms وستقوم بإنشاء ملف إعدادات التشغيل اللازمة لكل مشروع اختبار يتم تشغيله من نافذة مستكشف الاختبار. ستأتي الاستثناءات والتضمينات من الإعدادات المدمجة، بطريقة مشابهة للتغطية القديمة. نظرًا لأن تغطية كود MS تستخدم regex ولديها طرق مختلفة للاستثناء/التضمين إلى Coverlet وOpenCover، فهناك خيارات Visual Studio محددة لـ MS والعناصر المرتبطة بها.
نظرًا لأن لجنة الاتصالات الفيدرالية (FCC) توفر ملف إعدادات تشغيل لكل مشروع اختبار (إذا لم تكن قد قدمت حلاً واسع النطاق أو مشروعًا محددًا)، فيجب عليها كتابة عنصر RunSettingsFilePath في ملف المشروع.
على الرغم من أن لجنة الاتصالات الفيدرالية (FCC) تقوم بمسح قيمة هذا العنصر من ملف المشروع، إلا أنه لا يزال موجودًا.
تقوم لجنة الاتصالات الفيدرالية (FCC) بإنشاء إعدادات التشغيل من قالب باستخدام استبدال السلسلة. إذا رغبت في ذلك، يمكنك تقديم القوالب الخاصة بك. ستبحث لجنة الاتصالات الفيدرالية (FCC) عن fcc-ms-runsettings-template.xml في دليل المشروع أو دليل الحل. يجب أن يكون القالب الخاص بك مستند xml صالحًا ولكنه لا يحتاج إلى توفير كافة عناصر إعدادات التشغيل. ستضيف لجنة الاتصالات الفيدرالية (FCC) عناصر ResultsDirectory وTestAdaptersPaths القابلة للاستبدال (وعنصر RunConfiguration للحاوية إذا لزم الأمر) في حالة عدم وجودها. ستضيف لجنة الاتصالات الفيدرالية (FCC) أيضًا عناصر ms DataCollector / Configuration / CodeCoverage القابلة للاستبدال في حالة عدم وجودها. كما سيضيف أيضًا عناصر CodeCoverage الموصى بها لعدم الاستبعاد/التضمين، وAllowLowIntegrityProcesses، وCollectFromChildProcesses، وCollectAspDotNet، وUseVerifiableInstrumentation إذا لم يتم توفيرها. سيكون UseVerifiableInstrumentation خطأً بالنسبة لـ .Net Framework. لرؤية إعدادات التشغيل التي تم إنشاؤها، استخدم عنصر RunSettingsFilePath في ملف المشروع.
بالنسبة للقالب المخصص، الذي يوفر عناصره الخاصة التي كان من الممكن أن توفرها لجنة الاتصالات الفيدرالية (FCC)، للمشاركة في استبدال القالب، يتعين عليك إضافة سلاسل من النوع %fcc_replace%.
يستثني ويتضمن اتباع التنسيق "%fcc_modulepaths_exclude%". لكي تقوم لجنة الاتصالات الفيدرالية (FCC) بتوفير مسار تغطية رمز مللي ثانية الذي توفره لجنة الاتصالات الفيدرالية (FCC) إلى TestAdaptersPaths، استخدم %fcc_testadapter%.
من الممكن أيضًا استخدام ملف إعدادات التشغيل الخاص بك وإضافة FCC إليه واستبداله. ستضمن لجنة الاتصالات الفيدرالية (FCC) وجود عنصر TestAdaptersPaths بالإضافة إلى أداة تجميع بيانات ms. على عكس القالب، إذا كان مجمع بيانات MS موجودًا، فسيتم تطبيق الاستبدال فقط على ملف XML.
توفر تغطية كود Ms عنصر التكوين/CodeCoverage الافتراضي إذا لم يتم توفيره. كما سيضيف بعض الاستثناءات الافتراضية في حالة عدم وجودها أو دمجها ما لم تقم بإضافة السمة mergeDefaults='false'. على سبيل المثال، تستبعد السمات ExcludeFromCodeCoverageAttribute. إذا كنت مهتمًا، راجع ...AppDataLocalFineCodeCoveragemsCodeCoverage_version_buildnetstandard1.0Microsoft.VisualStudio.TraceDataCollector.dll وDynamicsCoverageDataCollector.
يرجى التحقق من استكشاف الأخطاء وإصلاحها قبل الإبلاغ عن مشكلة.
يتم نسخ ملفات Dll إلى مجلد فرعي لمجلد إخراج المشروع مما قد يؤثر على اختباراتك. البديل هو ضبط الخيار AdjacentBuildOutput على القيمة true. يتم توفير التغطية إما عن طريق OpenCover لمشاريع النمط القديم أو Coverlet لمشاريع sdk ذات النمط الجديد. على الرغم من أن لجنة الاتصالات الفيدرالية (FCC) توفر فكرة مجردة عن كليهما بحيث يكون من الممكن تجاهل الاختلافات بين الاثنين، إلا أن هناك ظروفًا حيث من المهم أن تكون على دراية بأداة التغطية التي سيتم تشغيلها. يكون هذا أكثر وضوحًا عند استخدام Coverlet، يرجى القراءة للحصول على التفاصيل.
سيكون السيناريو الآخر هو عندما تريد استخدام إصدار محدد من أداة التغطية. يمكن تكوين هذا.
يتم تثبيت أدوات التغطية التي تستفيد منها لجنة الاتصالات الفيدرالية (FCC) بشكل افتراضي في دليل FineCodeCoverage داخل Environment.SpecialFolder.LocalApplicationData
. يمكن تغيير ذلك باستخدام خيار ToolsDirectory Visual Studio. تأكد من وجود هذا الدليل المحتوي وعند إعادة التشغيل سيتم تثبيت الأدوات بداخله.
قم بإجراء (بعض) اختبار (اختبارات) الوحدة و ...
التسلسل الهرمي هو كما يلي:
أ) خيارات Visual Studio
ب) ملفات Finecodecoverage-settings.xml
يمكن العثور عليها من خلال متابعة بنية الدليل من دليل المشروع. من خلال تطبيق السمة topLevel='true' على العنصر الجذر، يتوقف السير.
بالنظر إلى Finecodecoverage-settings.xml في دليل المشروع وfinecodecoverage-settings.xml في دليل الحلول، فإن التسلسل الهرمي هو:
خيارات الاستوديو المرئي
مستوى الحل Finecodecoverage-settings.xml
مستوى المشروع Finecodecoverage-settings.xml
<FineCodeCoverage>
<Enabled>
True
</Enabled>
<!-- and more -->
</FineCodeCoverage>
ج) ملف المشروع msbuild
هناك طريقتان لتوفير هذه الإعدادات. مباشرة في ملف المشروع
<PropertyGroup Label="FineCodeCoverage">
<Enabled>
True
</Enabled>
<Exclude>
[ThirdParty.*]*
[FourthParty]*
</Exclude>
<Include>
[*]*
</Include>
<ExcludeByFile>
**/Migrations/*
**/Hacks/*.cs
</ExcludeByFile>
<ExcludeByAttribute>
MyCustomExcludeFromCodeCoverage
</ExcludeByAttribute>
<IncludeTestAssembly>
True
</IncludeTestAssembly>
<ModulePathsExclude>
.*Fabrikam.Math.UnitTest.dll
</ModulePathsExclude>
<!-- and more -->
</PropertyGroup>
مع عنصر FineCodeCoverage.
<PropertyGroup>
<FineCodeCoverage>
<Enabled>
True
</Enabled>
<!-- and more -->
</FineCodeCoverage>
</PropertyGroup>
يعد ذلك ضروريًا في حالة تخزين إعدادات المشروع خارج ملف المشروع الخاص بك واستخدام msbuild Import.
يعد ذلك ضروريًا أيضًا إذا كنت تريد دمج عنصر الإعداد مع العنصر الموجود في المستوى أعلاه لأن msbuild لا يدعم السمات المخصصة.
الافتراضي هو الكتابة فوق كل خاصية مجموعة. يمكن تغيير ذلك لجميع الإعدادات عن طريق تعيين defaultMerge='true' على العنصر الجذر.
إذا قمت بتوفير سمة الدمج على عنصر الإعداد، فسيتم استخدامها.
هذه ليست متعدية.
<PropertyGroup>
<FCCExcludeFromCodeCoverage/>
</PropertyGroup>
<PropertyGroup>
<UseDataCollector/>
</PropertyGroup>
لدى Coverlet "برامج تشغيل" مختلفة. استخدمت خدمة Fine Code Coverage في الماضي برنامج تشغيل وحدة التحكم فقط. هذا لديه بعض القضايا المرتبطة به. إذا واجهت تغطية بنسبة 0% أو تغطية غير متناسقة، فمن الممكن الآن التبديل إلى برنامج تشغيل Data Collector. هذا هو المحرك الأفضل ولكن لا يمكن استخدامه لجميع المشاريع. في الوقت الحالي، هذا هو الاشتراك. في المستقبل، ستحدد تغطية الكود الدقيق برنامج التشغيل المناسب. يرجى الرجوع إلى مستندات Coverlet لدعم الإصدار.
لاحظ أنه ليس من الضروري إضافة حزمة nuget Coverlet.collector حيث توفرها لجنة الاتصالات الفيدرالية (FCC) داخليًا.
سوف تستخدم تغطية التعليمات البرمجية الدقيقة برنامج تشغيل مجمع البيانات في حالتين:
يمكن العثور على إعدادات Coverlet Data Collector هنا. إذا كنت تستخدم الخيار 2) أعلاه، فسيتم إنشاء الإعدادات العامة (الاستثناءات والتضمينات) من خصائص المشروع (أعلاه) وخيارات الاستوديو المرئي العام (انظر أدناه) مع إعطاء الأولوية لخصائص المشروع. إذا كنت تستخدم الخيار 1) فلن يتم استخدام خيارات المشروع والعمومية إلا في حالة غياب عنصر تكوين الإعدادات العامة وتغير خيار RunSettingsOnly (انظر أدناه) إلى خطأ.
خيار | وصف |
---|---|
شائع | |
EditorCoverageColoringMode | اضبط على إيقاف، أو اضبط على DoNotUseRoslynWhenTextChanges إذا كانت هناك مشكلة في الأداء |
BlazorCoverageLinesFromGeneratedSource | اضبط على "صحيح" لتقييد خطوط التغطية في ملف .razor بتلك الموجودة في المصدر الذي تم إنشاؤه (عند توفره) |
ShowEditorCoverage | اضبط على "خطأ" لتعطيل كافة مؤشرات تغطية المحرر |
ShowCoverageInGlyphMargin | اضبط على خطأ لمنع علامات التغطية في هامش الصورة الرمزية |
ShowCoveredInGlyphMargin | اضبط على false لمنع العلامات المغطاة في هامش الصورة الرمزية |
ShowUncoveredInGlyphMargin | اضبط على خطأ لمنع العلامات غير المكشوفة في هامش الصورة الرمزية |
ShowPartiallyCoveredInGlyphMargin | اضبط على false لمنع العلامات المغطاة جزئيًا في هامش الصورة الرمزية |
ShowDirtyInGlyphMargin | اضبط على صواب لإظهار العلامات القذرة في هامش الصورة الرمزية |
ShowNewInGlyphMargin | اضبط على صواب لإظهار علامات الخط الجديدة في هامش الصورة الرمزية |
ShowCoverageInOverviewMargin | اضبط على خطأ لمنع علامات التغطية في هامش النظرة العامة |
ShowCoveredInOverviewMargin | اضبط على خطأ لمنع العلامات المغطاة في هامش النظرة العامة |
ShowUncoveredInOverviewMargin | اضبط على خطأ لمنع العلامات غير المكشوفة في هامش النظرة العامة |
ShowPartiallyCoveredInOverviewMargin | اضبط على خطأ لمنع العلامات المغطاة جزئيًا في هامش النظرة العامة |
ShowDirtyInOverviewMargin | اضبط على "صحيح" لإظهار العلامات القذرة في هامش النظرة العامة |
ShowNewInOverviewMargin | اضبط على "صحيح" لإظهار علامات السطر الجديدة في هامش النظرة العامة |
تسليط الضوء على تغطية الخط | اضبط على صحيح للسماح بتمييز خط التغطية |
ShowLineCoveredHighlighting | اضبط على خطأ لمنع تمييز الخط المغطى |
ShowLineUncoveredتسليط الضوء | اضبط على خطأ لمنع تمييز الخط المكشوف |
تسليط الضوء على ShowLineCoveredPartially | اضبط على خطأ لمنع تمييز الخط المغطى جزئيًا |
ShowLineDirtyHighlighting | اضبط على "صحيح" لإظهار تمييز الخطوط المتسخة |
ShowLineNewتسليط الضوء | اضبط على "صحيح" لإظهار تمييز الخط الجديد |
استخدمEnterpriseFontsAndColors | اضبط على false لاستخدام عناصر FCC Fonts And Colors |
ShowToolWindowToolbar | اضبط على خطأ لإخفاء شريط الأدوات في نافذة الأداة. يتطلب إعادة تشغيل Visual Studio. يحتوي شريط الأدوات على أزرار لعرض ملف Cobertura xml ونقاط المخاطر الساخنة. |
اسم دليل مخرجات حل لجنة الاتصالات الفيدرالية (FCC). | لجعل مخرجات fcc مرئية في مجلد فرعي من الحل الخاص بك، قم بتوفير هذا الاسم |
دليل الأدوات | المجلد الذي نسخ أدوات المجلد الفرعي. يجب أن تكون موجودة بالفعل. يتطلب إعادة تشغيل VS. |
عتبة التعقيد السيكلوماتيكي | عندما يتجاوز التعقيد الدوري هذه القيمة لطريقة ما، ستكون الطريقة موجودة في علامة تبويب النقاط الساخنة للمخاطر. |
StickyCoverageTable | اضبط على "صحيح" حتى يكون لجدول التغطية رأسًا لاصقًا. |
فئات مسافات الأسماء | اضبط على "خطأ" لإظهار الأنواع في التقرير في شكل قصير. يؤثر على التجميع. |
مؤهلات مساحة الاسم | التحكم في تأهيل الأنواع في التقرير عندما تكون قيمة NamespacedClasses صحيحة. مؤهل بالكامل - دائمًا مؤهل بالكامل. AlwaysUnqualified - غير مؤهل دائمًا. UnqualifiedByNamespace - غير مؤهل عند التجميع حسب مساحة الاسم. QualifiedByNamespaceLevel - يحذف أجزاء معرف مستوى التجميع الأول. يقلل المساحة مع الحفاظ على التفرد. |
إخفاءمغطى بالكامل | اضبط على true لإخفاء الفئات ومساحات الأسماء والتجمعات المغطاة بالكامل. |
إخفاء0التغطية | اضبط على true لإخفاء الفئات ومساحات الأسماء والتجميعات التي تبلغ تغطيتها 0%. |
Hide0Coverable | اضبط على false لإظهار الفئات ومساحات الأسماء والتجمعات التي لا يمكن تغطيتها. |
ممكّن | يحدد ما إذا كان تم تمكين إخراج التغطية أم لا |
DisabledNoCoverage | اضبط على false لـ VS Option Enabled=false لعدم تعطيل التغطية |
تشغيل عندما تفشل الاختبارات | افتراضيًا، يتم تشغيل التغطية عند فشل الاختبارات. اضبط على "خطأ" لمنع ذلك. لا يمكن استخدامه مع RunInParallel |
RunWhenTestsExceed | حدد قيمة لتشغيل التغطية فقط بناءً على عدد الاختبارات الجاري تنفيذها. لا يمكن استخدامه مع RunInParallel |
RunMsCodeCoverage | قم بالتغيير إلى IfInRunSettings للتجميع باستخدام إعدادات التشغيل التي تم تكوينها فقط. نعم لتوليد إعدادات التشغيل. |
تضمينTestAssembly | يحدد ما إذا كان سيتم الإبلاغ عن تغطية التعليمات البرمجية لتجميع الاختبار |
تضمين المشاريع المرجعية | اضبط على "صحيح" لإضافة كافة المشاريع المشار إليها مباشرة إلى "التضمين". |
تضمين التجميعات | قم بتوفير قائمة التجميعات التي سيتم تضمينها في التغطية. يتم استخدام اسم dll بدون ملحق للمطابقة. |
استبعاد التجميعات | تقديم قائمة التجمعات لاستبعادها من التغطية. يتم استخدام اسم dll بدون ملحق للمطابقة. |
غطاء مفتوح / غطاء | |
AdjacentBuildOutput | إذا كانت اختباراتك تعتمد على مسارها، فاضبط هذا على "صحيح". |
استبعاد | تصفية التعبيرات لاستبعاد وحدات وأنواع محددة (قيم متعددة) |
يشمل | تصفية التعبيرات لتشمل وحدات نمطية وأنواع محددة (قيم متعددة) |
ExcludeByFile | يستخدم OpenCover مطابقة أحرف البدل. يستخدم Coverlet نظام الملفات اللامع |
ExcludeByAttribute | استبعاد التعليمات البرمجية المنسوبة على مستوى التجميع والنوع والطريقة. أضف أنواع السمات المؤهلة بالكامل أو غير المؤهلة. |
RunInParallel | بشكل افتراضي، يتم تشغيل اختبارات OpenCover / Coverlet ومن ثم يتم تنفيذ التغطية. اضبط على "صحيح" لتشغيل التغطية على الفور |
تغطية رمز السيدة | كل مما يلي عبارة عن مجموعة من التعابير المنطقية التي سيتم تحويلها إلى عناصر إعدادات التشغيل (انظر). |
استبعاد ModulePaths | استبعاد - يطابق التجميعات المحددة بواسطة اسم التجميع أو مسار الملف. |
ModulePathsInclude | تضمين - يطابق التجميعات المحددة بواسطة اسم التجميع أو مسار الملف. |
استبعاد أسماء الشركات | استبعاد - يطابق التجميعات حسب سمة الشركة. |
أسماء الشركات تشمل | تضمين - يطابق التجميعات حسب سمة الشركة. |
استبعاد PublicKeyTokens | استبعاد - يطابق التجميعات الموقعة بواسطة رمز المفتاح العام. |
تتضمن رموز PublicKey | تضمين - يطابق التجميعات الموقعة بواسطة رمز المفتاح العام. |
استبعاد المصادر | استبعاد - يطابق العناصر حسب اسم مسار الملف المصدر الذي تم تعريفها فيه. |
تتضمن المصادر | تضمين - يطابق العناصر حسب اسم مسار الملف المصدر الذي تم تعريفها فيه. |
السمات استبعاد | استبعاد - يطابق العناصر التي لها السمة المحددة. حدد الاسم الكامل للسمة |
السمات تشمل | تضمين - يطابق العناصر التي لها السمة المحددة. حدد الاسم الكامل للسمة |
استبعاد الوظائف | استبعاد - يطابق الإجراءات أو الوظائف أو الأساليب حسب الاسم المؤهل بالكامل، بما في ذلك قائمة المعلمات. |
تشمل الوظائف | تضمين - يطابق الإجراءات أو الوظائف أو الأساليب حسب الاسم المؤهل بالكامل، بما في ذلك قائمة المعلمات. |
غطاء | |
تشغيل الإعدادات فقط | حدد false للخيارات العامة وخيارات المشروع التي سيتم استخدامها لعناصر تكوين أداة تجميع البيانات الشاملة عندما لا يتم تحديدها في إعدادات التشغيل |
CoverletCollectorDirectoryPath | حدد المسار إلى الدليل الذي يحتوي على ملفات مجمع Coverlet إذا كنت بحاجة إلى وظيفة لا يوفرها إصدار FCC. |
CoverletConsoleLocal | حدد true لاستخدام أدوات dotnet الخاصة بك في التثبيت المحلي لوحدة التحكم Coverlet. |
CoverletConsoleCustomPath | حدد المسار إلى وحدة التحكم Coverlet exe إذا كنت بحاجة إلى وظيفة لا يوفرها إصدار لجنة الاتصالات الفيدرالية (FCC). |
CoverletConsoleGlobal | حدد true لاستخدام أدوات dotnet الخاصة بك في التثبيت العالمي لوحدة التحكم Coverlet. |
إعدادات "CoverletConsole" لها الأولوية على المستوى المحلي / CustomPath / العمومي. | |
غطاء مفتوح | |
تسجيل OpenCover | قم بالتغيير من الإعداد الافتراضي إذا كان تحديد لجنة الاتصالات الفيدرالية (FCC) للمسار 32 أو المسار 64 غير صحيح. |
OpenCoverTarget | توفير الهدف الخاص بك إذا لزم الأمر. |
OpenCoverTargetArgs | في حالة توفير هدفك الخاص، يمكنك أيضًا توفير وسائط إضافية. توفر لجنة الاتصالات الفيدرالية (FCC) مسار اختبار dll. |
OpenCoverCustomPath | حدد المسار لفتح ملف exe إذا كنت بحاجة إلى وظيفة لا يوفرها إصدار لجنة الاتصالات الفيدرالية (FCC). |
ThresholdForNPathComplexity | عندما يتجاوز تعقيد npath هذه القيمة لطريقة ما، ستكون الطريقة موجودة في علامة تبويب النقاط الفعالة للمخاطر. |
ThresholdForCrapScore | عندما تتجاوز درجة الحماقة هذه القيمة لطريقة ما، ستكون الطريقة موجودة في علامة تبويب النقاط الساخنة للمخاطر. |
ربما تريد تعيين IncludeReferencedProjects على true. سيضمن هذا عدم حصولك على تغطية لأطر الاختبار - فقط التعليمات البرمجية الخاصة بك.
يستخدم Coverlet وOpenCover تعبيرات التصفية. تصفية التعبيرات
أحرف البدل
* => يطابق صفرًا أو أكثر من الأمثلة على الأحرف
[*]* => جميع الأنواع في جميع التجميعات.
[coverlet.*]Coverlet.Core.Coverage => فئة التغطية في مساحة الاسم Coverlet.Core التي تنتمي إلى أي تجميع يتطابق مع Coverlet.* (على سبيل المثال، Coverlet.core)
[*]Coverlet.Core.Instrumentation.* => جميع الأنواع التي تنتمي إلى مساحة اسم Coverlet.Core.Instrumentation في أي تجميع
[coverlet.*.tests]* => جميع الأنواع في أي تجميع بدءًا من غطاء السرير. وتنتهي بـ .tests
يمكن استخدام كلا الخيارين "استبعاد" و"تضمين" معًا، لكن الأولوية لـ "استبعاد".
تستخدم تغطية كود MS التعابير المنطقية. يمكنك تضمين أو استبعاد التجميعات أو أنواع وأعضاء محددين من تحليل تغطية التعليمات البرمجية. إذا كان قسم التضمين فارغًا أو محذوفًا، فسيتم تضمين كافة التجميعات التي تم تحميلها ولها ملفات PDB المرتبطة. إذا كان التجمع أو العضو يتطابق مع فقرة في قسم الاستبعاد، فسيتم استبعاده من تغطية التعليمات البرمجية. يكون لقسم الاستبعاد الأسبقية على قسم التضمين: إذا تم إدراج تجميع في كل من التضمين والاستبعاد، فلن يتم تضمينه في تغطية التعليمات البرمجية.
يمكنك تجاهل أسلوب أو فئة بأكملها من تغطية التعليمات البرمجية عن طريق تطبيق السمة [ExcludeFromCodeCoverage] الموجودة في مساحة الاسم System.Diagnostics.CodeAnalogy.
بالنسبة لـ .Net (وليس .Net Framework) يمكن تطبيق هذه السمة على مستوى التجميع.
بالنسبة لـ .Net Framework، راجع FCCExcludeFromCodeCoverage أعلاه للحصول على وظائف مماثلة.
لتجاهل التعليمات البرمجية المنسوبة إلى نوع مختلف:
يمكنك أيضًا تجاهل السمات الإضافية عن طريق الإضافة إلى قائمة "ExcludeByAttribute" بالنسبة إلى Coverlet/OpenCover أضف إلى الإضافة إلى قائمة "ExcludeByAttribute" (مؤهل بالكامل أو غير مؤهل). لتغطية رمز مللي ثانية أضف إلى قائمة "استبعاد السمات". يستخدم هذا مطابقة regex.
تقوم لجنة الاتصالات الفيدرالية (FCC) بإخراج المخرجات، بشكل افتراضي، داخل مجلد التصحيح الخاص بكل مشروع اختبار. إذا كنت تفضل ذلك، يمكنك تحديد مجلد ليحتوي على الملفات الناتجة داخليًا وتستخدمها لجنة الاتصالات الفيدرالية (FCC). تبحث كلتا الطريقتين أدناه عن دليل يحتوي على ملف .sln في دليل تصاعدي للدليل الذي يحتوي على ملف مشروع الاختبار الأول. إذا تم العثور على دليل الحل هذا، فسيتم تطبيق المنطق.
إذا كان دليل الحل يحتوي على دليل فرعي لمخرجات fcc، فسيتم استخدامه تلقائيًا.
وبدلاً من ذلك، إذا قمت بتوفير FCCSolutionOutputDirectoryName في الخيارات، فسيتم إنشاء الدليل واستخدامه إذا لزم الأمر.
تحقق من إرشادات المساهمة إذا كنت تريد المساهمة في هذا المشروع.
لاستنساخ هذا المشروع وإنشائه بنفسك، تأكد من تثبيت ملحق Extensibility Essentials لبرنامج Visual Studio الذي يمكّن بعض الميزات التي يستخدمها هذا المشروع.
أباتشي 2.0
غطاء
غطاء مفتوح
ReportGenerator
مزود | يكتب | وصلة |
---|---|---|
باي بال | مرة واحدة | |
Liberapay | يتكرر |