我遇到了问题,让伊斯坦布尔输出它的HTML报告到我的Karma配置中指定的目录。它当前在正确的目录(reports/coverage)中输出主index.html,但详细的html子页面输出到与源文件(www/js/...)相同的目录中。这与here和here描述的问题相同,但在尝试建议的解决方案后,问题仍然存在。
这是我的karma配置文件的内容:
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' }
]
}关于如何解决这个问题的建议,以便所有的覆盖率文件都被放到reports/coverage目录中,我们将非常感激。谢谢。
发布于 2015-09-04 01:25:52
我自己也曾尝试过这个问题,并发现我必须在coverageReporter配置的reporters部分更明确一点,为每个配置指定目录和子目录。
coverageReporter: {
reporters: [
{ type: 'text-summary', dir: 'coverage/' },
{ type: 'html', dir: 'coverage/', subdir: 'report-html' }
]
}我不能解释为什么这种组合最终对我有效,但在多次排列之后,这就是我最终的结果。
https://stackoverflow.com/questions/32372209
复制相似问题