1

我无法让伊斯坦布尔将其 HTML 报告输出到我的 Karma 配置中指定的目录。它当前在正确的目录()中输出主 index.html,reports/coverage但详细的 html 子页面输出到与源文件()相同的目录www/js/...这是此处此处描述的相同问题,但在尝试了建议的解决方案后,问题仍然存在。

这是我的业力配置文件的内容:

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非常感谢有关如何解决此问题的建议,以便将所有覆盖文件放入目录中。谢谢。

4

1 回答 1

2

我自己已经为此苦苦挣扎,发现我必须通过为每个目录指定目录和子目录,在 coverageReporter 配置的记者部分中更加明确一点。

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

我无法解释为什么这种组合最终对我有用,但经过多次排列后我最终得到了。

于 2015-09-03T17:25:52.423 回答