Сделать отчеты с открытым исходным кодом доступными в CruiseControl.NET

#cruisecontrol.net #code-coverage #opencover #reportgenerator

#cruisecontrol.net #покрытие кода #открытое покрытие #генератор отчетов

Вопрос:

Я пытаюсь интегрировать OpenCover с CruiseControl.NET. На данный момент я внес изменения в систему сборки, чтобы она запускала мои тесты nunit в OpenCover. Затем я генерирую отчеты Xml и Html из тех, которые используют ReportGenerator.

Предполагается, что отчеты, сгенерированные ReportGenerator, можно интегрировать в CruiseControl.NET webapp, как мне интегрировать их?

У NCover есть своя задача NCoverReporting, которую можно использовать, но поскольку я не запускаю NCover, я не могу сравнить ее выходные данные с XML-отчетами, сгенерированными OpenCover.

Связанные мысли / вопросы:

  • OpenCover по умолчанию генерирует XML-файл, но может ли этот XML-файл использоваться cc.net ?
  • ReportGenerator также генерирует XML, предназначены ли они для чего-то вроде cc.net ?
  • cc.net имеет издателя для слияния файлов, который объединяет журналы, но я еще не нашел никакой документации, указывающей, какие форматы файлов полезны / используются cc.net .

Комментарии:

1. ReportGenerator также может создавать выходные HTML-файлы для этих файлов (или index.html ) должно быть легко подключаемым.

2. Смотрите это сообщение в блоге palmmedia.de/Blog/2012/9/27 / … для учебного пособия.

Ответ №1:

У меня была эта проблема, и я решил ее с помощью следующих шагов, примите во внимание, что я использую msbuild, так что это сработает, только если вы используете msbuild:

  1. Добавьте цель для покрытия
  2. Добавьте задачу в свой build.proj для создания выходных данных OpenCoverage (OpenCoverReport.xml )
  3. Сразу после этого добавьте задачу для создания сводного отчета с использованием ReportGenerator (reporttypes: XML). Вот так: Пример целевого покрытия MSBuild
  4. Создайте преобразования XSL для создания выходных данных HTML с помощью Summary.xml не волнуйтесь, я это уже написал: Для анализа покрытия на уровне сборки (в выходных данных журнала сборки) используйте следующее: XSLT для отчета о покрытии на уровне сборки и для анализа покрытия на уровне класса (подробный отчет) используйте следующее: XSLT для отчета о покрытии на уровне класса
  5. Добавьте buildReportBuildPlugin и xslReportBuildPlugin для создания обоих отчетов с использованием предыдущих файлов XSLT в вашем dashboard.config: Добавьте это в конфигурацию
  6. Объедините XML-файл сводного отчета о покрытии с результатами сборки в вашем файле ccnet.config: добавьте это в свою конфигурацию

Комментарии:

1. Возможно ли, чтобы вы опубликовали всю свою конфигурацию в ответе (было бы проще следовать) — я пытаюсь следовать вашим шагам, но (1) и (2) немного загадочны без примеров…

2. Ссылка на шаге 3 также показывает результат выполнения шагов 1 и 2.

3. спасибо (также понял это позже). Но по какой-то причине XSLTS, которые связаны здесь, не дают мне никаких результатов. Работают ли они?

4. @ Marcel Valdez Orozco — Не могли бы вы, пожалуйста, уточнить, откуда взялся файл в # 6?

Ответ №2:

Вы могли бы использовать внешние ссылки в вашем ccnet.config после предоставления вашего отчета через IIS

    <externalLinks>
     <externalLink name="Code Coverage"     url="http://cc.net/coverage" /> 
   </externalLinks>
  

Комментарии:

1. похоже, что он может сделать это с отчетами о покрытии, сгенерированными ReportGenerator тогда. Никогда не используя CC, я не мог сделать этот вызов спасибо за обновление … 1 от меня и добро пожаловать в SO 🙂