13
Die Ausführung unterhalb des Komponententests ergibt "Fehler: [$ injector: unpr] Unbekannter Provider: $ stateProvider < - $ state". Ich habe die angular-ui-router.min.js in der Karma-Datei angehängt.
describe("Unit tests", function() {
var $rootScope, $injector, $state;
console.log("hello");
beforeEach(inject(function(_$rootScope_, _$state_, _$injector_, $templateCache) {
console.log("hello1");
$rootScope = _$rootScope_;
$injector = _$injector_;
$state = _$state_;
}));
describe("states", function() {
it("verify state configuration", function() {
var config = $state.get("DRaaS");
console.log(config, "cc");
});
});
});
Diese Antwort brachte mich in die richtige Richtung. Ich habe vergessen, 'angular-ui-router' zu meiner Dateieigenschaft innerhalb von karma.conf hinzuzufügen. – Raulucco
Ich hasse gerade Karma wegen der Tatsache, dass dies tatsächlich erforderlich ist! Gibt es eine Möglichkeit, den $ stateProvider nachzuspielen/stub/zu fälschen, so dass ich nicht 'ui-router' benötigen muss? Ich möchte in der Lage sein, meinen Code isoliert zu testen (daher UNIT-Tests) und all diese anderen Abhängigkeiten zu verspotten. –
@AaronJanes ja es gibt. Sie können etwas wie dieses verwenden $ provider.service ('$ state', funktion ($ q) { var $ stateService = { aktuell: { url: "/", ansichten: {}, name: "root .signin " } }; Rückgabe $ stateService; }); – BobDoleForPresident