2013-10-09 2 views
16

Мы настраиваем TeamCity для запуска наших тестов жасмина с использованием узла и кармы.Настройка отчета о покрытии кода для Karma on TeamCity

Испытания проходят нормально, и результаты сообщаются на вкладке «Тесты» в TeamCity.

Однако мы хотели бы сообщить покрытие кода в TeamCity (и даже установить условия сбоя сборки на уровне).

Я установил модуль карма-покрытия

npm install karma-coverage --save-dev 

И попытался настроить его в karma.conf.js путем добавления

preprocessors: { 
'myProject/Scripts/app/**/*.js': 'coverage' 
}, 

reporters: ['progress', 'coverage'], 

Когда карма запускается, никаких ошибок не сообщается, и многие файлы созданный под папкой coverage, включая очень красиво отформатированный отчет о покрытии кода в index.html

Но ничего не было w отображается в TeamCity. Нет вкладки «Покрытие кода».

Как настроить карму для создания отчетов, отображаемых в TeamCity?

Возможно, я могу использовать набор coverageReporter для чего-то подходящего, но что? Этот параметр не имеет никакого значения:

coverageReporter: { 
    type : 'html', 
    dir : 'coverage/' 
}, 

Бонус вопрос: как установить Строить Failure условия о карме сообщили покрытие кода?

ответ

23

Самый простой способ заставить TeamCity распознать ваш отчет о покрытии - вывести артефакт сборки, содержащий этот хороший отчет о покрытии html.

Изменить параметры конфигурации для вашей сборки и под Артефакт Путей добавить что-то вроде:

coverage/** => coverage.zip 

TeamCity распознает coverage.zip артефакт, если он находит файл index.html в корневом каталоге и добавить код Покрытие для каждой сборки.

Источник: https://confluence.jetbrains.com/pages/viewpage.action?pageId=74847395#HowTo...-ImportcoverageresultsinTeamCity (Teamcity версия 9.x)

+1

Я бегу Teamcity Professional 10.0.4 (сборка 42538) и coverage.zip файл не был автоматически обнаружен TeamCity. В соответствии с @ekimpl мне пришлось вручную создать вкладку отчета о новом сборке в настройках проекта с помощью параметра «Начать страницу = охват.zip!».html – EdL

1

Не знаю, если последовательность имеет важное значение, и не должны использовать [] скобки на Препроцессоры записей?

Попробуйте следующее:

reporters: ['progress', 'coverage'], 

preprocessors: { 
'myProject/Scripts/app/**/*.js': ['coverage'] 
}, 
+0

Поскольку файлы сгенерированы, это, вероятно, не проблема. – MEMark

3

В моем случае отчет был успешно создан в coverage.zip, но вкладка покрытия кода не было видно в отчете сборки.

мне пришлось вручную добавить вкладку отчета в настройках проекта и обеспечить полный путь к файлу index.html

enter image description here

Смежные вопросы