#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:
- Добавьте цель для покрытия
- Добавьте задачу в свой build.proj для создания выходных данных OpenCoverage (OpenCoverReport.xml )
- Сразу после этого добавьте задачу для создания сводного отчета с использованием ReportGenerator (reporttypes: XML). Вот так: Пример целевого покрытия MSBuild
- Создайте преобразования XSL для создания выходных данных HTML с помощью Summary.xml не волнуйтесь, я это уже написал: Для анализа покрытия на уровне сборки (в выходных данных журнала сборки) используйте следующее: XSLT для отчета о покрытии на уровне сборки и для анализа покрытия на уровне класса (подробный отчет) используйте следующее: XSLT для отчета о покрытии на уровне класса
- Добавьте buildReportBuildPlugin и xslReportBuildPlugin для создания обоих отчетов с использованием предыдущих файлов XSLT в вашем dashboard.config: Добавьте это в конфигурацию
- Объедините 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 🙂