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 に答える