Sto cercando di integrare il mio attuale progetto AngularJS con Karma Coverage. Si prega di trovare sotto il package.json e il mio karma-config.AngularJS + Karma + Jasmine + Karma-Copertura: report di copertura vuoto
Package.json
{
"name": "Project",
"description": "Description",
"repository": "https://www.repo.com",
"devDependencies": {
"karma": "~0.10.9",
"karma-junit-reporter": "~0.2.1",
"karma-jasmine": "~0.1.5",
"karma-ng-scenario": "~0.1",
"karma-script-launcher": "~0.1.0",
"karma-chrome-launcher": "~0.1.3",
"karma-firefox-launcher": "~0.1.3",
"karma-phantomjs-launcher": "~0.1.4",
"karma-ng-html2js-preprocessor": "~0.1",
"karma-coverage": "~0.1"
}
}
Karma config
'use strict';
module.exports = function (config) {
config.set({
basePath: '../../public/',
logLevel: config.LOG_DEBUG,
frameworks: ['jasmine'],
singleRun: true,
files: [
'libs/jquery/jquery-1.9.0.js',
'libs/angular/1.2.10/angular.js',
'libs/angular/**/*.js',
'libs/angular/*.js',
'libs/vendor/*.js',
'libs/test/**/*.js',
// fixtures
{pattern: 'test/mock-data/helloworld/*.json', watched: true, served: true, included: false},
'apps/helloworld/**/*.js',
'apps/helloworld/*.js',
'test/helloworld/unit/**/*.js',
'test/helloworld/*.js',
'views/helloworld/directives/*.html'
],
exclude: [
'libs/angular/1.2.10/*.min.js',
'libs/angular/angular-animate.js'
],
browsers: ['PhantomJS'],
reporters: ['progress', 'junit', 'coverage'],
preprocessor: {
'apps/helloworld/**/*.js': ['coverage'],
'*.html': ['ng-html2js']
}
})
};
Quando provo ad eseguire "node_modules/.bin/karma inizio conf/consulente/karma.conf.js" tutti i test vengono eseguiti correttamente, ma il rapporto sulla copertura del karma è completamente vuoto. Ho provato un paio di opzioni ma non riesco a visualizzare i rapporti.
L'output della console non corre il preprocessore per la copertura. Posso vedere che in realtà viene eseguito per html2js.
DEBUG [plugin]: Loading karma-* from /Users/alansouza/workspace/helloworld/node_modules
DEBUG [plugin]: Loading plugin /Users/alansouza/workspace/helloworld/node_modules/karma-chrome-launcher.
DEBUG [plugin]: Loading plugin /Users/alansouza/workspace/helloworld/node_modules/karma-coffee-preprocessor.
DEBUG [plugin]: Loading plugin /Users/alansouza/workspace/helloworld/node_modules/karma- coverage.
DEBUG [plugin]: Loading plugin /Users/alansouza/workspace/helloworld/node_modules/karma-firefox-launcher.
DEBUG [plugin]: Loading plugin /Users/alansouza/workspace/helloworld/node_modules/karma-html2js-preprocessor.
DEBUG [plugin]: Loading plugin /Users/alansouza/workspace/helloworld/node_modules/karma-jasmine.
DEBUG [plugin]: Loading plugin /Users/alansouza/workspace/helloworld/node_modules/karma-junit-reporter.
DEBUG [plugin]: Loading plugin /Users/alansouza/workspace/helloworld/node_modules/karma-ng-html2js-preprocessor.
DEBUG [plugin]: Loading plugin /Users/alansouza/workspace/helloworld/node_modules/karma-ng-scenario.
DEBUG [plugin]: Loading plugin /Users/alansouza/workspace/helloworld/node_modules/karma-phantomjs-launcher.
DEBUG [plugin]: Loading plugin /Users/alansouza/workspace/helloworld/node_modules/karma-requirejs.
DEBUG [plugin]: Loading plugin /Users/alansouza/workspace/helloworld/node_modules/karma-script-launcher.
INFO [karma]: Karma v0.10.10 server started at http://localhost:9876/
INFO [launcher]: Starting browser PhantomJS
DEBUG [launcher]: Creating temp dir at /var/folders/8_/vw105h0j3vn66cgzttktdjmm0000gn/T/karma-29140367
DEBUG [launcher]: /Users/alansouza/workspace/helloworld/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/lib/phantom/bin/phantomjs /var/folders/8_/vw105h0j3vn66cgzttktdjmm0000gn/T/karma-29140367/capture.js
DEBUG [watcher]: Excluded file "/Users/alansouza/workspace/helloworld/public/libs/angular/1.2.10/angular-animate.min.js"
DEBUG [watcher]: Excluded file "/Users/alansouza/workspace/helloworld/public/libs/angular/1.2.10/angular-resource.min.js"
DEBUG [watcher]: Excluded file "/Users/alansouza/workspace/helloworld/public/libs/angular/1.2.10/angular-route.min.js"
DEBUG [watcher]: Excluded file "/Users/alansouza/workspace/helloworld/public/libs/angular/1.2.10/angular-sanitize.min.js"
DEBUG [watcher]: Excluded file "/Users/alansouza/workspace/helloworld/public/libs/angular/1.2.10/angular.min.js"
DEBUG [preprocessor.html2js]: Processing "/Users/alansouza/workspace/helloworld/public/views/advisor/directives/av-product-total.html".
DEBUG [preprocessor.html2js]: Processing "/Users/alansouza/workspace/helloworld/public/views/advisor/directives/av-product.html".
DEBUG [preprocessor.html2js]: Processing "/Users/alansouza/workspace/helloworld/public/views/advisor/directives/av-select-product.html".
DEBUG [watcher]: Resolved files:
Domanda: Sto facendo qualcosa di sbagliato qui? Come rendere la copertura karma per caricare i miei file src js?
In realtà se si guarda la mia configurazione include il preprocessore di copertura. CoverageReporter è un parametro facoltativo che assume come valore predefinito html. Ho provato a includere un output diverso (ad es. Txt) per vedere se funziona, ma non lo fa. –
Ah, hai ragione. Apparentemente non scorrevo abbastanza lontano. Ricordo di aver avuto questo problema con Karma 0.10, ma quando ho aggiornato a 0.12 sembra essere risolto. Forse dargli un giro? – MBielski
Ho provato ad aggiornare per 0.12 o 0.11 e sto affrontando problemi con i test delle direttive. Non riesce a caricare i moduli html (html2js). Qualche idea?! –