2013-04-29 6 views
6

Wenn ich versuche, $ Location Service in Unit-Test (QUnit) I Fehler erhalten zu injizieren: Unbekannt $ rootElementProvider <-< rootElement $ - $ location

Andere Dinge, ohne Die $ location service-Abhängigkeit wird korrekt eingegeben.

var $injector = angular.injector(['ng', 'myApp']); 
var $location = $injector.get('$location'); 

Quelle: http://jsfiddle.net/H4qGb/5/

Noch ein seltsamer Fehler tritt in dem zweiten Test.

Kann jemand eckig mit qunit besten Weg integrieren?

+2

Ich habe das gleiche Problem –

+0

Artem mit Jasmin, haben Sie die Antwort auf dieses Problem gefunden? –

+0

Nein, ich wechselte zu Jasmin. Und jetzt erkenne ich, dass Jasmin eine viel bessere Integration mit eckigen hat. –

Antwort

8

Sie sollten die angularjs Mocks verwenden.

http://code.angularjs.org/1.1.5/angular-mocks.js

Sie können dann Ihren Injektor anweisen, auch diese Mocks zu verwenden.
var $injector = angular.injector(['ngMock','ng', 'myApp']);

http://jsfiddle.net/jxVDT/

+0

Ihr JS Fiddle funktioniert nicht, und der Link nur zur JS-Datei ist nicht hilfreich, um zu zeigen, wie man es benutzt. Kannst du eine Beispielverwendung für Jasmine in die Antwort selbst aufnehmen? –

+0

Wenn ich ngMock lade, kann ich $ http nicht mehr verwenden, es wird gespottet. – drunkcamel