Вопрос

Решено: посмотрите на дно этого вопроса для рабочей конфигурации


Я пытаюсь настроить 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 для проведения анализа вроде сборки, я хочу, чтобы этот файл содержать необходимую информацию.

Я также использую Testdrive, И если я щелкнул щелкнуть файл решения и выберите «Тест с NCOVER», NCOVER-Explorer открывается с данными охвата, и если я попрошу его показать мне папку с файлами покрытия, в котором есть файл .xml Та же структура, что и то, что приведена выше, только со всеми данными, которые должны быть там, поэтому инструменты, которые у которых есть, безусловно, способна его производить.

Кто-нибудь представление о том, что я настроил не так?


Решается: Следующая конфигурация наконец работала для меня. Он производит базовую статистику охвата кода на странице «Запустить результаты» для сборки, со ссылкой на подробный отчет со всем.

Поскольку я называю свои тестовые проекты устройства так же, как и тесты проекта, только с помощью суффикса. Кроме того, мне приходилось конкретно включать только мои собственные сборки (которые все начинаются с LVK.) В противном случае я бы получил несколько собраний, загруженных TeamCity Runner, который слегка повлиял на мою статистику покрытия.

Во-первых, я установил последние из инструментов (на этот счет):

  • NCOVER 3.4.8.
  • TeamCity 5.1.2
  • NUNIT 2.5.5.

Конфигурация на экране сборки в TeamCity является затем следующим образом:

  • Цели: восстановление
  • Конфигурация: отладка
  • Платформа: любой ЦП
  • .NET Охват Инструмент: NCOVER (3.x)
  • .Net Runtime: .NET Framework 4.0, версия: родная
  • Путь к NCOVER 3:% System.ncover.v3.x64.Path% (это Windows 2008 Server R2 64-BIT)
  • Дополнительные аргументы 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 не работает Custom Custifian 2010 код

К файлу nunit-console-x86.exe.config, под <configuration> Добавить:

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

Под <runtime> Добавить

<loadFromRemoteSources enabled="true" />

Исправлено это для меня. Я использую Teamcity, не финалуюристую, хотя.

Я также использую NCOVER 3.4.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top