Ich versuche mein aktuelles AngularJS-Projekt mit Karma Coverage zu integrieren. Unten finden Sie die package.json und meine karma-config.AngularJS + Karma + Jasmine + Karma-Coverage: Leeres Coverage-Bericht
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']
}
})
};
Wenn ich versuche, "node_modules/.bin/Karma Start conf/Berater/karma.conf.js" zu laufen Alle Tests werden erfolgreich ausgeführt, aber der Karma-Coverage-Bericht ist vollständig leer. Ich habe ein paar Optionen ausprobiert, aber ich kann die Berichte nicht erscheinen lassen.
Die Konsolenausgabe läuft nie den Präprozessor für die Abdeckung. Ich kann sehen, dass es tatsächlich für html2js läuft.
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:
Frage: Mache ich etwas falsch hier? Wie mache ich Karma Coverage um meine src js Dateien zu laden?
Eigentlich, wenn Sie schauen, enthält meine Konfig den Coverage Preprozessor. Der CoverageReporter ist ein optionaler Parameter, der standardmäßig auf HTML gesetzt ist. Ich habe versucht, eine andere Ausgabe (z. B. txt) einzuschließen, um zu sehen, ob es funktioniert, aber es nicht tut. –
Ah, du hast Recht. Ich habe anscheinend nicht weit genug nach unten geblättert. Ich erinnere mich an dieses Problem mit Karma 0.10, aber als ich auf 0.12 aktualisiert habe, scheint es behoben zu sein. Vielleicht einen Wirbel machen? – MBielski
Ich habe versucht, für 0.12 oder 0.11 zu aktualisieren, und ich habe Probleme mit Direktivtests. Es lädt die HTML-Module (html2js) nicht. Irgendwelche Ideen?! –