سؤال

تم حلها: انظر إلى أسفل هذا السؤال لتكوين العمل


أحاول إعداد NCOVER للاستخدام في مشروع FinalBuilder الخاص بي ، لمشروع .NET 4.0 C# ، لكن ملف إخراج التغطية النهائي لا يحتوي على أي بيانات تغطية.

انا استخدم:

جميع الأدوات هي أحدث مسؤول اعتبارًا من اليوم.

لقد تمكنت أخيرًا من إقناع FB في تشغيل اختبارات الوحدة الخاصة بي تحت NCOVER لمشروع .NET 4.0 ، لذلك أحصل Tests run: 184, ..., ، ايهم صحيح.

ومع ذلك ، النهائي Coverage.xml إخراج الملفات من NCover فارغ تقريبًا ، ويبدو مثل هذا:

<?xml version="1.0" encoding="utf-8"?>
<!-- saved from NCover 3.0 Export url='http://www.ncover.com/' -->
<coverage profilerVersion="3.3.2.6211" driverVersion="3.3.2" exportversion="3" viewdisplayname="" startTime="2010-04-22T08:55:33.7471316Z" measureTime="2010-04-22T08:55:35.3462915Z" projectName="" buildid="27c78ffa-c636-4002-a901-3211a0850b99" coveragenodeid="0" failed="false" satisfactorybranchthreshold="95" satisfactorycoveragethreshold="95" satisfactorycyclomaticcomplexitythreshold="20" satisfactoryfunctionthreshold="80" satisfactoryunvisitedsequencepoints="10" uiviewtype="TreeView" viewguid="C:\Dev\VS.NET\LVK.IoC\LVK.IoC.Tests\bin\Debug\Coverage.xml" viewfilterstyle="None" viewreportstyle="SequencePointCoveragePercentage" viewsortstyle="Name">
  <rebasedpaths />
  <filters />
  <documents>
    <doc id="0" excluded="false" url="None" cs="" csa="00000000-0000-0000-0000-000000000000" om="0" nid="0" />
  </documents>
</coverage>

الإخراج في سجل FB هو:

...
***************** End Program Output *****************

Execution Time: 1,5992 s

Coverage Xml: C:\Dev\VS.NET\LVK.IoC\LVK.IoC.Tests\bin\Debug\Coverage.xml
NCover Success

تكوين خطوة FB لـ NCOVER:

  • ncover ماذا؟: تغطية اختبار NUNIT
  • يأمر: C:\Program Files (x86)\NUnit 2.5.4\bin\net-2.0\nunit-console.exe
  • حجج القيادة: LVK.IoC.Tests.dll /noshadow /framework:4.0.30319 /process=single /nothread
    • ملاحظة: لقد حاولت مع وبدون /process و /nothread والخيارات
  • عمل اخراجي: %FBPROJECTDIR%\LVK.IoC.Tests\bin\Debug
  • قائمة التجميعات إلى الملف الشخصي: %FBPROJECTDIR%\LVK.IoC.Tests\bin\Debug\LVK.IoC.dll
    • ملاحظة: لقد حاولت فقط سرد اسم التجميع ، سواء مع أو بدون امتداد.

لا تساعد الوثائق الخاصة بخطوة FB ، حيث إنها تسرد فقط جملًا بسيطة لكل خاصية ، وتفشل في تقديم أمثلة أو استكشاف الأخطاء وإصلاحها.

نظرًا لأنني أرغب في سحب نتائج التغطية إلى NDEPEND لتشغيل تحليل وقت البناء ، أريد أن يحتوي هذا الملف على المعلومات التي أحتاجها.

أنا أيضا أستخدم TestDriven, ، وإذا قمت بالنقر بزر الماوس الأيمن على ملف الحل وحدد "اختبار مع NCOVER" ، فإن NCOVER-EXPLORER يفتح ببيانات التغطية ، وإذا طلبت منه إظهار المجلد مع ملفات التغطية ، يوجد ملف .xml مع نفس هيكل الهيكل أعلاه ، فقط مع جميع البيانات التي يجب أن تكون هناك ، وبالتالي فإن الأدوات التي لدي قادرة بالتأكيد على إنتاجها.

هل لدى أي شخص فكرة عما قمت بتكوينه هنا؟


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

نظرًا لأنني أسمي مشاريع اختبار الوحدة الخاصة بي مثل المشروع الذي يختبره ، فقط مع لاحقة. اختبارات ، لقد استبعدت تلك من تغطية الكود. أيضًا ، اضطررت إلى تضمين تجميعاتي الخاصة فقط (والتي تبدأ جميعها بـ LVK.) وإلا فإنني سأحصل على بعض التجميعات التي تم تحميلها بواسطة TeamCity Runner ، والتي أثرت قليلاً على إحصائيات التغطية الخاصة بي.

أولاً ، قمت بتثبيت أحدث الأدوات (اعتبارًا من هذا التحرير):

  • NCOVER 3.4.8
  • Teamcity 5.1.2
  • نونيت 2.5.5

التكوين على شاشة البناء في Teamcity هو كما يلي:

  • الأهداف: إعادة البناء
  • التكوين: تصحيح
  • المنصة: أي وحدة المعالجة المركزية
  • أداة تغطية .NET: NCOVER (3.x)
  • .NET وقت التشغيل: .NET Framework 4.0 ، الإصدار: الأصلي
  • المسار إلى NCover 3: ٪ system.ncover.v3.x64.path ٪ (هذا هو Windows 2008 Server R2 64 بت)
  • حجج NCOVER إضافية:

    //ias LVK.*
    //eas .*Tests
    //eas LVK\.CodeQuality
    //ea LVK\.CodeQuality\.IgnoreCodeCoverageAttribute
    
  • حجج الإبلاغ الإضافية لـ NCOVER:

    //or FullCoverageReport:Html:{teamcity.report.path}
    
  • Nunit Runner: Nunit 2.5.5

  • .NET Runtime Platform: Auto (MSIL) ، الإصدار: 4.0
  • تشغيل الاختبارات من: ** bin debug*tests.dll
هل كانت مفيدة؟

المحلول

على حد علمي ، فإن NCOVER غير قادر على تغطية اختبارات .NET 4.0. أعلنوا إصدارًا جديدًا لـ .NET 4.0 ولكنه لم يكن هناك بعد.

ابحث عن معلومات حول هذا الموضوع هنا. أنا شخصياً ليس لدي خبرة في هذه المهمة ...

تحديث: أصدروا NCOVER 3.4 مع .NET 4.0 دعم. ربما تجربها.

نصائح أخرى

لقد وجدت إجابتك من هذا الموضوع: NUNIT لا تقوم بتشغيل كود Visual Studio 2010

إلى ملف nunit-console-x86.exe.config ، تحت <configuration> يضيف:

<startup>
  <requiredRuntime version="v4.0.30319" />
</startup>

تحت <runtime> يضيف

<loadFromRemoteSources enabled="true" />

أصلحه لي. أنا أستخدم TeamCity وليس FinalBuilder رغم ذلك.

أنا أيضًا أستخدم NCOVER 3.4.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top