在TeamCity上为Karma配置代码覆盖率报告

Kla*_*urn 19 javascript teamcity reporting node.js karma-runner

我们正在设置TeamCity以使用节点和业力来运行我们的茉莉花测试.

测试运行正常,并在TeamCity的"测试"选项卡下报告结果.

但是,我们想在TeamCity中报告代码覆盖率(甚至在级别上设置构建失败条件).

我已经安装了业力覆盖模块

npm install karma-coverage --save-dev
Run Code Online (Sandbox Code Playgroud)

并尝试karma.conf.js通过添加配置它

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

reporters: ['progress', 'coverage'],
Run Code Online (Sandbox Code Playgroud)

运行karma时,不会报告错误,并且会在文件夹下创建大量文件coverage,包括格式良好的代码覆盖率报告.index.html

但TeamCity中没有任何新内容.没有"代码覆盖率"选项卡.

如何配置karma以生成显示在TeamCity中的报告?

也许我可以使用set coverageReporter来适当的东西,但是什么?此设置没有区别:

coverageReporter: {
    type : 'html',
    dir : 'coverage/'
},
Run Code Online (Sandbox Code Playgroud)

奖金问题:如何在业力报告的代码覆盖率上设置构建失败条件?

小智 26

让TeamCity识别您的覆盖率报告的最简单方法是输出包含该html覆盖率报告的构建工件.

编辑构建的配置设置,并在Artifact Paths下添加如下内容:

coverage/** => coverage.zip
Run Code Online (Sandbox Code Playgroud)

如果在根目录中找到index.html文件并且将为每个构建添加代码覆盖率选项卡,TeamCity将识别coverage.zip工件.

资料来源:https://confluence.jetbrains.com/pages/viewpage.action pageId = 74847395#HowTo...-ImportcoverageresultsinTeamCity(Teamcity version 9.x)

  • 我正在运行TeamCity Professional 10.0.4(内部版本42538),TeamCity未自动检测到coverage.zip文件。按照@ekimpl,我必须在项目设置中使用Start Page = coverage.zip!index.html手动创建一个新的构建报告选项卡。 (4认同)

eki*_*mpl 7

在我的情况下,报告已成功生成coverage.zip,但代码覆盖率选项卡在构建报告中不可见.

我不得不在"项目设置"中手动添加报告选项卡,并提供该index.html文件的完整路径

在此输入图像描述