2016-06-30 39 views
0

我想爲我的角度SPA做一些單元測試。我和Karma做了一些工作,他們工作得很好,但是我決定安裝業力報道來看測試報道。我已經浪費了很多時間去看這個報告。 我裝果報報道,現在我的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 /的目錄屬性,但目錄沒有創建。 Karma測試運行正確,但我無法獲得覆蓋報告。

回答

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