Das folgende ist meine Modul- und Komponententesteinrichtung. Wenn ich versuche $ state
zu setzen, wirft $injector.get("$state")
den immer Spaß Unbekannten Anbieter: $ stateProvider < - $ Zustand Fehler und ich verstehe nicht warum.
angular.module("my-module", [
//Third Party
"ui.bootstrap",
"ui.router",
"toaster",
"angular-loading-bar",
"ngAnimate",
"ngSanitize",
"ApplicationInsightsModule",
"pascalprecht.translate"
]);
describe("something descriptive and helpful",(): void => {
// a bunch of other service variables....
var $state: any;
// I've tried with and without this line
beforeEach(() => angular.module("ui.router"));
beforeEach(() => {
angular.module("my-module");
inject(($injector: ng.auto.IInjectorService): void => {
// a bunch of other service variable assignments
$state = $injector.get("$state");
});
});
Es sollte auch bemerkt werden, dass die Verwendung eines echten Router in Spezifikationen ist umständlich. Bleib bei $ stateProvider/$ state mocks, wann immer es möglich ist. – estus
@estus also, wenn ich meine gesamte Route Konfiguration verspotten muss ... was ist der Sinn es zu testen? Ich schreibe den Code an diesem Punkt praktisch neu, oder? Scheint es nicht wert. – Yatrix