gpt4 book ai didi

javascript - Karma-coverage 检查 JS 文件中的测试覆盖率而不是 Angular 2 中的 TS

转载 作者:太空狗 更新时间:2023-10-29 18:33:05 25 4
gpt4 key购买 nike

我通过 Istanbul 尔检查 TypeScript 文件中的测试覆盖率。我需要通过 karma-coverage 设置测试阈值。Istanbul 的报告与 karma-coverage 报告不匹配(我使用 Angular-cli),因为 karma-coverage 检查 JavaScript 文件而不是 TypeScript 中的测试覆盖率。我使用了其他插件,例如 karma-threshold-reporter、istanbul-threshold-checker,但结果相同。我该如何解决?

report generate for typeScript files

report generate for JS files

module.exports = function (config) {
config.set({
basePath: '',
frameworks: ['jasmine', 'angular-cli'],
plugins: [
require('karma-jasmine'),
require('karma-chrome-launcher'),
require('karma-remap-istanbul'),
require('karma-coverage'),
require('angular-cli/plugins/karma')
],
files: [
{ pattern: './src/test.ts', watched: false }
],
preprocessors: {
'./src/test.ts': ['angular-cli']
},
remapIstanbulReporter: {
reports: {
html: 'coverage',
lcovonly: './coverage/coverage.lcov'
}
},
coverageReporter: {
dir: 'coverage/',
reporters: [
{type: 'text-summary'},
{type: 'html'}
],
check: {
global: {
statements: 70,
branches: 70,
functions: 70,
lines: 50
}
}
},

angularCli: {
config: './angular-cli.json',
environment: 'dev'
},
reporters: ['progress', 'karma-remap-istanbul', 'coverage'],
port: 9876,
colors: true,
logLevel: config.LOG_INFO,
autoWatch: true,
browsers: ['Chrome'],
singleRun: false
});
};

最佳答案

plugin: ['karma-remap-istanbul', 'karma-istanbul-threshold'],
coverageReporter: {
type: 'in-memory',
},

remapCoverageReporter: {
'text-summary': null,
json: './coverage/coverage-final.json',
html: './coverage/html-ts'
},

istanbulThresholdReporter: {
src: './coverage/coverage-final.json',
reporters: ['text'],

thresholds: {
global: {
statements: 90,
branches: 90,
lines: 90,
functions: 90,
}
},
},

这个配置对我有用。

关于javascript - Karma-coverage 检查 JS 文件中的测试覆盖率而不是 Angular 2 中的 TS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40399134/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com