繁体   English   中英

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

[英]Karma-coverage checks test coverage in JS files instead of TS in Angular 2

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

报告为typeScript文件生成

报告为JS文件生成

 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,
            }
        },
    },

这个配置对我有用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM