我正在尝试为UI5应用程序构建一个gitlab-ci管道,以包括使用Karma runner和karma-ui5的测试阶段。如果未达到测试覆盖率阈值,我希望管道失败。我的karma.conf.js如下所示:
module.exports = function(config) {
"use strict";
config.set({
frameworks: ["ui5"],
preprocessors: {
"{webapp,webapp/!(test)}/*.js": ["coverage"]
},
coverageReporter: {
includeAllSources: true,
reporters: [
{
type: "html",
dir: "coverage"
},
{
type: "text"
}
],
check: {
each: {
statements: 100,
branches: 100,
functions: 100,
lines: 100
}
}
},
reporters: ["progress", "coverage"],
browsers: ["CustomChromeHeadless"],
customLaunchers: {
CustomChromeHeadless: {
base: 'ChromeHeadless',
flags: ['--no-sandbox']
}
},
browserConsoleLogOptions: {
level: "error"
},
singleRun: true
});
};Karma coverage报告未达到覆盖率阈值但退出代码始终为0的文件,因此管道不会失败。
输出如下所示:
TOTAL: 2 SUCCESS
07 11 2020 10:08:46.033:ERROR [coverage]: HeadlessChrome 64.0.3282 (Linux 0.0.0): Coverage for branches (50%) does not meet per-file (/builds/younang/ci/web/webapp/controller/View.controller.js) threshold (100%)
07 11 2020 10:08:46.034:ERROR [coverage]: HeadlessChrome 64.0.3282 (Linux 0.0.0): Coverage for statements (0%) does not meet per-file (/builds/younang/ci/web/webapp/localService/mockserver.js) threshold (100%)
07 11 2020 10:08:46.034:ERROR [coverage]: HeadlessChrome 64.0.3282 (Linux 0.0.0): Coverage for branches (0%) does not meet per-file (/builds/younang/ci/web/webapp/localService/mockserver.js) threshold (100%)
07 11 2020 10:08:46.034:ERROR [coverage]: HeadlessChrome 64.0.3282 (Linux 0.0.0): Coverage for lines (0%) does not meet per-file (/builds/younang/ci/web/webapp/localService/mockserver.js) threshold (100%)
07 11 2020 10:08:46.034:ERROR [coverage]: HeadlessChrome 64.0.3282 (Linux 0.0.0): Coverage for functions (0%) does not meet per-file (/builds/younang/ci/web/webapp/localService/mockserver.js) threshold (100%)
-------------------|---------|----------|---------|---------|-------------------
File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
-------------------|---------|----------|---------|---------|-------------------
All files | 25 | 4.35 | 41.18 | 25 |
webapp | 100 | 100 | 100 | 100 |
Component.js | 100 | 100 | 100 | 100 |
webapp/controller | 100 | 50 | 100 | 100 |
...controller.js | 100 | 50 | 100 | 100 | 16
...p/localService | 0 | 0 | 0 | 0 |
mockserver.js | 0 | 0 | 0 | 0 | 1-115
webapp/model | 100 | 100 | 100 | 100 |
models.js | 100 | 100 | 100 | 100 |
-------------------|---------|----------|---------|---------|------------------您可以在Gitlab here中查看完整的设置
知道我错过了什么吗?非常感谢您的帮助。
谢谢
发布于 2020-11-14 00:35:09
看起来这是个known issue。解决方案是将karma升级到5.2.0。也许可以试一试?
https://stackoverflow.com/questions/64726785
复制相似问题