我正在使用 Karma-Coverage(Istanbul) 运行 Karma Maven 插件以进行代码覆盖。Karma-Coverage 似乎默认为所需(建议?)代码覆盖率的 80%,但是我想在项目中强制执行 90% 的代码覆盖率。但是,我不知道在哪里设置它。
有没有办法使用 Karma/Istanbul 强制执行目标代码覆盖率?
我正在使用 Karma-Coverage(Istanbul) 运行 Karma Maven 插件以进行代码覆盖。Karma-Coverage 似乎默认为所需(建议?)代码覆盖率的 80%,但是我想在项目中强制执行 90% 的代码覆盖率。但是,我不知道在哪里设置它。
有没有办法使用 Karma/Istanbul 强制执行目标代码覆盖率?
这记录在repo 的 docs 文件中。查找有关“检查”属性的部分。
这将用于配置覆盖结果的最小阈值强制执行。如果没有达到阈值,业力将返回失败。阈值,当指定为正数时,被视为所需的最小百分比。当阈值指定为负数时,它表示允许的未覆盖实体的最大数量。
例如,
statements: 90
暗示最小语句覆盖率为 90%。statements: -10
意味着不超过 10 个未覆盖的语句被允许。
global
适用于所有文件一起并each
基于每个文件。可以通过该exclude
属性将文件或模式列表排除在强制执行之外。在每个文件或模式的基础上,可以通过overrides
属性覆盖每个文件的阈值。
coverageReporter: {
check: {
global: {
statements: 50,
branches: 50,
functions: 50,
lines: 50,
excludes: [
'foo/bar/**/*.js'
]
},
each: {
statements: 50,
branches: 50,
functions: 50,
lines: 50,
excludes: [
'other/directory/**/*.js'
],
overrides: {
'baz/component/**/*.js': {
statements: 98
}
}
}
}
}
如果您查看@MarcoCI 引用的代码,您会看到 karma 正在执行相当标准的选项合并,这意味着您不必重新创建整个检查对象。只是你关心的价值观。默认值为 0。
使用检查选项作为@SeanH 的答案。