Wenn ich Modul verwenden und versuchen, einen Controller in Karma zu injizieren, erhalte ich diese StörungforEach @ Fehler mit Karma
PhantomJS 2.1.1 (Mac OS X 0.0.0) Tests for Profile Controller should work FAILED
[email protected]/Users/work/Sites/APP/web-app/bower_components/angular/angular.js:322:24
[email protected]/Users/work/Sites/APP/web-app/bower_components/angular/angular.js:4548:12
[email protected]/Users/work/Sites/APP/web-app/bower_components/angular/angular.js:4470:30
[email protected]/Users/work/Sites/APP/web-app/bower_components/angular-mocks/angular-mocks.js:2954:60
/Users/work/Sites/APP/web-app/bower_components/angular/angular.js:4588:53
PhantomJS 2.1.1 (Mac OS X 0.0.0): Executed 1 of 1 (1 FAILED) ERROR (0.004 secs/0.016 secs)
mein Test
describe('Tests for Profile Controller', function(){
beforeEach(module('app'));
var scope, $controller;
beforeEach(inject(function(_$controller_) {
$controller = _$controller_;
}));
it('should work', function(){
expect('defined').toBeDefined();
})
})
Mein Karma Config sieht wie folgt aus
module.exports = function(config) {
config.set({
basePath: '',
frameworks: ['jasmine'],
files: [
'bower_components/angular/angular.js',
'bower_components/angular-mocks/angular-mocks.js',
'dist/js/combined.bower.js',
'app/js/routes.js',
'app/js/controllers/profile.js',
'app/test/unit/controllers/profile.spec.js'
],
exclude: [
],
preprocessors: {
},
reporters: ['progress'],
port: 9876,
colors: true,
logLevel: config.LOG_INFO,
autoWatch: true,
browsers: ['PhantomJS'],
singleRun: false,
concurrency: Infinity
})
}
Mein App-Modul ist in meinem routes.js definiert (nicht meine Idee) und der Controller, der gerade versucht, zu testen, ist profile.controll er. Mein bower.combined ist alle meine Bower-Komponenten verkettet und minimiert. Irgendein Grund, warum das passiert?
Vor dem gleichen Problem, hast du eine Lösung gefunden? –
Es stellte sich heraus, Probleme mit dem Laden von Dateien in meinem Karma Conf. Ich löste das Problem durch Laden einer kombinierten Bower-Datei, dann eckige Mocks (Aus irgendeinem Grund ist es nicht genug, in der Kombination bower zu sein, gefolgt von meinem eckigen Modul (ich musste dann die Deklaration aus meiner routes-Datei trennen) Mein Controller-Ordner, dann mein Testordner. Der beste Rat, den ich geben kann, der mir enorm geholfen hat, würde sein, deinen Test zu einem einfachen Controller zu isolieren. Kopieren Sie den Inhalt in eine andere Datei und laden Sie ihn einfach in den Bereich. Holen Sie sich einen Test zur Arbeit. Fügen Sie dann langsam Abhängigkeiten hinzu, um zu sehen, was bricht – ceckenrode