angular SPA の単体テストをいくつか作成しようとしています。私は Karma でいくつか作成しましたが、それらはかなりうまく機能しますが、テストのカバレッジを確認するために karma-coverage をインストールすることにしました。そして、私はすでにこのレポートを見ようとして多くの時間を無駄にしています. karma-coverage をインストールしたところ、package.json は次のようになりました。
"dependencies": {
"angular-mocks": "^1.5.6",
"jasmine-core": "^2.4.1",
"karma": "^0.13.22",
"karma-chrome-launcher": "^1.0.1",
"karma-coverage": "^1.0.0",
"karma-firefox-launcher": "^1.0.0",
"karma-jasmine": "^1.0.2",
"karma-ng-html2js-preprocessor": "^1.0.0"
}
注: 既に別のカルマとカルマ カバレッジを試しましたが、結果は同じでした。私のkarma.conf.js
module.exports = function(config) {
config.set({
basePath: '',
frameworks: ['jasmine'],
files: [
'bower_components/angular/angular.js',
'bower_components/angular-resource/angular-resource.js',
'bower_components/angular-route/angular-route.js',
'bower_components/angular-sanitize/angular-sanitize.js',
'node_modules/angular-mocks/angular-mocks.js',
'**/*.module.js',
'**/**/*.module.js',
'*!(.module|.spec).js',
'!(bower_components|node_modules)/**/*!(.module|.spec).js',
'**/**/*.spec.js',
'**/*.html'
],
exclude: [
],
preprocessors: {
'**/*.js': ['coverage'],
'**/*.html': ['ng-html2js']
},
coverageReporter:{
type:'html',
dir:'coverage/'
},
reporters: ['progress', 'coverage'],
port: 9876,
colors: true,
logLevel: config.LOG_INFO,
autoWatch: false,
browsers: ['Chrome'],
singleRun: false,
concurrency: Infinity
})
};
注:私は、さまざまなプリプロセッサ設定、さまざまなcoverageReporter設定を試しました。
しかし、結果は常に同じです: http://localhost:9876/coverage/またはhttp://localhost:9876/coverage/index.htmlを開こうとすると、404 が見つかりません。C:/Dev/coverage/ の dir プロパティを変更しようとしましたが、ディレクトリは作成されませんでした。Karma テストは正しく実行されていますが、カバレッジ レポートを取得できません。