2016-06-30 14 views
0

Ich versuche, einige Komponententests für meine eckige SPA zu machen. Ich habe einige mit Karma gemacht, und sie funktionieren ziemlich gut, aber dann entschied ich mich, eine Karma-Abdeckung zu installieren, um die Testabdeckung zu sehen. Und ich verschwende schon viel Zeit, um diesen Bericht zu sehen. Ich installierte Karma-Berichterstattung und jetzt meine package.json wie folgt aussieht:Karma-Coverage immer 404 nicht gefunden Antwort

"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" 
} 

Hinweis: Ich habe schon verschiedene Karma und Karma-Deckung, aber Ergebnis war das gleiche versucht. Mein 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 
    }) 
}; 

Anmerkung: Ich habe versucht, verschiedene Preprozessoren Einstellungen, unterschiedliche coverageReporter Einstellungen.

Aber das Ergebnis ist immer das gleiche: Ich versuche http://localhost:9876/coverage/ oder http://localhost:9876/coverage/index.html zu öffnen und 404 nicht gefunden zu bekommen. Ich habe sogar versucht, die Eigenschaft dir auf C:/Dev/coverage/zu ändern, aber das Verzeichnis wurde nicht erstellt. Karma testet korrekt, aber ich kann keinen Deckungsbericht erhalten.

Antwort

0

Nach einigen weiteren Stunden habe ich es behoben. Weiß eigentlich nicht, dass es funktioniert, aber es scheint, dass ich True AutoWatch setzen sollte. Hier ist mein 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

Ich löschte auch Test-Verzeichnis in Karma-Chrom-Launcher, um vollständigen Bericht zu sehen – tv1st