2016-06-30 19 views
0

私は、私の角SPAにいくつかのユニットテストをしようとしています。私はカルマでいくつかを作った、と彼らはかなりうまく動作しますが、私はテストのカバレッジを見るためにカルマのカバレッジをインストールすることを決めました。そして、私はすでにこのレポートを見ようと多くの時間を無駄にしています。 私はカルマ-カバレッジをインストールして、今、私のpackage.jsonは以下のようになります。カルマカバレッジは常に404が見つかりませんでした。

"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プロパティを変更しようとしましたが、ディレクトリは作成されませんでした。カルマテストは正しく動作していますが、私はカバレッジレポートを取得できません。

答えて

0

さらに数時間後に私はそれを修正しました。それが実際に動作するかどうかはわかりませんが、実際のautoWatchを設定する必要があります。ここに私のkarma.conf.jsがあります

//jshint strict: false 
module.exports = function(config) { 
    config.set({ 

     basePath: './', 

     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', 
      'bower_components/jquery/dist/jquery.min.js', 
      '**/*.module.js', 
      '**/**/*.module.js', 
      '*!(.module|.spec).js', 
      '!(bower_components|node_modules)/**/*!(.module|.spec).js', 
      '**/**/*.spec.js', 
      '**/*.html' 
     ], 

     autoWatch: true, 

     frameworks: ['jasmine'], 

     browsers: ['Chrome'], 

     plugins: [ 
      'karma-chrome-launcher', 
      'karma-jasmine', 
      'karma-coverage', 
      'karma-ng-html2js-preprocessor' 
     ], 

     reporters: ['progress', 'coverage'], 

     preprocessors: { 
      '**/*.html': ['ng-html2js'], 
      '!(bower_components|node_modules)/**/!(*spec).js': ['coverage'] 
     }, 

     coverageReporter: { 
      type : 'html', 
      dir : 'coverage/' 
     } 

    }); 
}; 
+0

私もkarma-chrome-launcherのテストディレクトリを完全なレポートを削除するために削除しました – tv1st

関連する問題