我有一个Angular项目,我正在尝试学习测试。我遇到的概念之一是代码覆盖率。除了在karma.conf.js文件中告诉我应该能够编辑代码覆盖率失败的阈值之外,这非常好。
我的coverageInstanbulReporter密钥如下所示。
coverageIstanbulReporter: {
dir: require('path').join(__dirname, '../coverage'),
reports: ['html', 'lcovonly'],
fixWebpackSourcePaths: true,
thresholds: {
global: {
statements: 10,
lines: 10,
branches: 10,
functions: 10
},
each: {
statements: 10,
lines: 10,
branches: 10,
functions: 10
}
}
},
我要弄清楚的是为什么无论我将值更改为什么,代码覆盖率报告在行,分支,函数和语句的覆盖率至少为10%的文件中显示红色(我认为失败) 。
这些阈值意味着什么?这是错误吗?实际上,我确实确实在控制台中得到了一些期望的输出,但是coverage文件夹中的index.html无法反映控制台。
示例日志
09 01 2019 11:53:49.565:ERROR [reporter.coverage-istanbul]: Coverage for branches (0%) in file xxxxxx\src\app\services\auth-service\auth.service.ts does not meet per file threshold (10%)