在TeamCity上为Karmaconfiguration代码覆盖率报告
我们正在build立TeamCity,使用节点和业力运行我们的茉莉花testing。
testing运行良好,结果在TeamCity的“testing”标签下报告。
不过,我们希望在TeamCity中报告代码覆盖率(甚至可以在关卡上设置Build Failure Conditions)。
我已经安装了业力覆盖模块
npm install karma-coverage --save-dev
并尝试通过添加在karma.conf.js
configuration它
preprocessors: { 'myProject/Scripts/app/**/*.js': 'coverage' }, reporters: ['progress', 'coverage'],
当运行karma时,没有报告错误,并且在文件夹coverage
创build了大量文件,其中包括index.html
格式良好的代码覆盖率报告
但在TeamCity中没有新的东西出现。 没有“代码覆盖”选项卡。
如何configuration业力产生在TeamCity中显示的报告?
也许我可以使用设置coverageReporter
到适当的东西,但什么? 这个设置没有任何区别:
coverageReporter: { type : 'html', dir : 'coverage/' },
奖金问题:如何设置业障报告代码覆盖率的build设失败条件?
让TeamCity识别您的覆盖率报告的最简单的方法是输出一个包含那个很好的html覆盖率报告的构build工件。
编辑您的构build的configuration设置,并在“工件path”下添加如下内容:
coverage/** => coverage.zip
如果TeamCity在根目录中findindex.html文件,并且会为每个版本添加代码覆盖选项卡,TeamCity将识别coverage.zip工件。
资料来源: https ://confluence.jetbrains.com/pages/viewpage.action ? pageId = 74847395#HowTo…-ImportcoverageresultsinTeamCity(Teamcity version 9.x)
在我的情况下,报告已成功生成到coverage.zip
,但代码覆盖选项卡在构build报告中不可见。
我必须手动添加项目设置中的报告选项卡,并提供index.html
文件的完整path
不知道,如果顺序很重要,不应该在预处理器条目中使用[]括号?
尝试以下操作:
reporters: ['progress', 'coverage'], preprocessors: { 'myProject/Scripts/app/**/*.js': ['coverage'] },