Karma-Coverage和Istanbul HTML报告不会输出到预期的目录

我有问题得到伊斯坦布尔输出它的HTML报告到我的噶configuration中指定的目录。 它目前输出正确的目录( reports/coverage )主index.html,但详细的html子页面输出到源文件( www/js/... )相同的目录。 这里和这里描述的是相同的问题,但在尝试build议的解决scheme后,问题依然存在。

这是我的业力configuration文件的内容:

 basePath: './', frameworks: ['jasmine'], files: [ 'www/lib/angular/angular.js', 'www/js/*.js', 'www/js/services/*.js', 'www/js/controllers/*.js', 'www/lib/angular-mocks/angular-mocks.js', 'tests/**/*test.js', 'tests/test-data/*.json' ], plugins: [ 'karma-jasmine', 'karma-coverage', 'karma-phantomjs-launcher', 'karma-ng-json2js-preprocessor' ], preprocessors: { 'www/js/**/*.js': ['coverage'], 'tests/**/*.json': ['ng-json2js'] }, ngJson2JsPreprocessor: { stripPrefix: 'tests/test-data/', prependPrefix: 'served/' }, reporters: ['progress', 'coverage'], port: 9876, colors: true, logLevel: config.LOG_INFO, autoWatch: true, browsers: ['PhantomJS'], singleRun: true, coverageReporter: { // Common output directory dir: 'coverage', reporters: [ { type: 'text-summary'}, { type: 'html', subdir:'report-html' } ] } 

关于如何解决这个问题的build议,所有的覆盖文件都放在reports/coverage目录中,我们将非常感激。 谢谢。

我自己与此搏斗,并发现我必须在coverageReporterconfiguration的记者部分通过指定每个的目录和子目录更加明确。

 coverageReporter: { reporters: [ { type: 'text-summary', dir: 'coverage/' }, { type: 'html', dir: 'coverage/', subdir: 'report-html' } ] } 

我无法解释为什么这个组合最终为我工作,但经过了多次排列,这是我最终的结果。

Interesting Posts