Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs Karma Coverage和HTML报告未输出到预期目录_Angularjs_Node.js_Unit Testing_Karma Jasmine_Karma Coverage - Fatal编程技术网

Angularjs Karma Coverage和HTML报告未输出到预期目录

Angularjs Karma Coverage和HTML报告未输出到预期目录,angularjs,node.js,unit-testing,karma-jasmine,karma-coverage,Angularjs,Node.js,Unit Testing,Karma Jasmine,Karma Coverage,我在将伊斯坦布尔的HTML报告输出到Karma配置中指定的目录时遇到问题。它当前将main index.html输出到正确的目录(reports/coverage)中,但详细的html子页面将输出到与源文件相同的目录(www/js/…)。这与描述的问题相同,但在尝试建议的解决方案后,问题仍然存在 这是我的karma配置文件的内容: basePath: './', frameworks: ['jasmine'], files: [ 'www/lib/angular/angular.js',

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

这是我的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
目录,我们将不胜感激。谢谢。

我自己也在努力解决这个问题,发现我必须在coverageReporter配置的reporters部分更明确一点,为每个部分指定目录和子目录

coverageReporter: {
  reporters: [
    { type: 'text-summary', dir: 'coverage/' },
    { type: 'html', dir: 'coverage/', subdir: 'report-html' }
  ]
}
我无法解释为什么这种组合最终对我有效,但经过多次排列后,我最终得到了这样的结果