私のモジュールとユニットテストのセットアップは次のとおりです。 $ state
を設定しようとすると、$injector.get("$state")
は常に楽しい不明なプロバイダをスローします。$ stateProvider < - $ stateエラーと私はなぜ理解していません。
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");
});
});
また、スペックで実際のルータを使用することは厄介であることに注意する必要があります。可能であれば、$ stateProvider/$ stateに固執してください。 – estus
@estusだから、もし私が私のルート構成全体を模擬しなければならないなら、それをテストするのは何ですか?私はその時点で実際にコードを書き直していますよね?それに値するとは思わない。 – Yatrix