繁体   English   中英

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

[英]Configuring code coverage report for Karma on TeamCity

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

测试运行正常,并在TeamCity的“测试”选项卡下报告结果。

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

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

npm install karma-coverage --save-dev

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

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

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

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

但TeamCity中没有任何新内容。 没有“代码覆盖率”选项卡。

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

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

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

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

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

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

coverage/** => coverage.zip

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

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

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

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

在此输入图像描述

不知道,如果序列很重要,你不应该在预处理器条目中使用[]括号吗?

请尝试以下方法:

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM