2016-06-23 6 views
1

Ich versuche, meine Karma-Tests einzurichten, habe aber ein Problem, meinen Test zu laufen. Ich habe meine Prüfung wie dieserKarma Controller injizieren Fehler

describe("Test Controller", function() { 
    beforeEach(module('thisApp')); 
    var $controller; 
    var x = 1; 
    beforeEach(inject(function(_$controller_) { 
    $controller = _$controller_; 
    })); 

    it('should work', function() { 
    expect(x).toEqual(1); 
    }); 

}); 

geschrieben, aber ich erhalte eine Fehlermeldung

Test Controller should work FAILED 
.../node_modules/angular/angular.js:4631:53 
[email protected]/Users/.../node_modules/angular/angular.js:322:24 
[email protected]/Users/.../node_modules/angular/angular.js:4591:12 
[email protected]/Users/.../node_modules/angular/angular.js:4513:30 
[email protected]/Users/.../node_modules/angular-mocks/angular-mocks.js:3067:60 

meine conf-Datei wird mit diesen Dateien

files: [ 
     'node_modules/angular/angular.js', 
     'node_modules/angular-mocks/angular-mocks.js', 
     'app/app.js', 
     'app/controllers/*.js', 
     'app/test/unit/*.spec.js' 
    ], 

Wenn ich die before entfernen (injizieren. ..) dann wird mein Test laufen und sagt Erfolg, aber es gibt mir diesen Fehler, wenn ich es einschließe.

Was fehlt mir?

Antwort

0

Controller-Einspritzcode sollte so sein.

var controller; 
beforeEach(inject(function($rootScope, $controller) { 
     scope = $rootScope.$new(); 
     controller = $controller('TestController', { 
      $scope: scope 
      //Inject more dependencies if you want to 
     }); 
    }));