2013-03-27 8 views
15

Ich habe Yeoman-Winkel Aufbau mit folgenden App:Testing Angular-Service gibt Fehler: Kein Modul: ngResource

angular.module('myApp', ['ngResource','ui.bootstrap']) 
    .config(['$routeProvider', function ($routeProvider) { 
     $routeProvider 
     ... 
    }]); 

und Service:

angular.module('myApp') 
    .factory('UserSvc', [function() { 
     return { 
      name : '', 
      topicOrder: 'lec_type', 
     }; 
    }]); 

und dem folgenden Test:

describe('Service: UserSvc', function() { 

    beforeEach(module('mfApp')); 

    var UserSvc; 
    beforeEach(inject(function(_UserSvc_) { 
    UserSvc = _UserSvc_; 
    })); 

    it('should do something', function() { 
    expect(UserSvc.topicOrder).toEqual('lec_type'); 
    }); 

}); 

Ich habe mein Bestes versucht, $ Ressource in den Test zu injizieren (obwohl der svice selbst nicht ngResource ist), aber wenn ich Führen Sie den Test, ich bekomme diese Fehlermeldung

Error: No module: ngResource 

wenn ich die Abhängigkeiten vom Modul selbst zu entfernen,

angular.module('myApp', []) 

dann die Tests

erfolgreich ausgeführt habe ich wirklich alles versucht, aber nicht

Antwort

45

in Ihrer testacular.conf.js/karma.conf.js haben Sie angular-resource.js eingeschlossen; z.B.

files = [ 
    JASMINE, 
    JASMINE_ADAPTER, 
    'app/vendor/angular/angular.js', 
    'app/vendor/angular/angular-*.js', 
+1

Vielen Dank. Ich habe Stunden damit verbracht, aber ich bin neu in AngularJS. Ich denke, ich muss etwas mehr lesen. Außerdem gibt es nicht viel Dokumentation zum Testen und Arbeiten mit Karma/Testacular. Kann beim Testen einige Ressourcen empfehlen. Danke – qais

+1

Das war das gleiche Problem, dem ich begegnete. Seien Sie sicher, dass Sie nach dem Einbinden Ihrer neuen Komponente in testacular.conf.js/karma.conf.js, dass Sie sich daran erinnern, Ihre Testacular/Karma-Sitzung neu zu starten – Stewie

+0

Große Hilfe. Der Pfad meines Setups sieht ungefähr wie folgt aus: "app/bower_components/angular-ui/build/angular-ui.js". – chug2k

3

Nach der neuen Komponente einschließlich erinnern Sitzung Neustart Ihre Testacular/Karma.

Verwandte Themen