6
Angular uiルーターユニットテスト(状態からURL)
Angularuiルーター上に構築されたアプリケーションでルーターの単体テストに問題が発生しています。私がテストしたいのは、状態遷移がURLを適切に変更するかどうかです(後でもっと複雑なテストがありますが、ここから始めます)。 これが私のアプリケーションコードの関連部分です: angular.module('scrapbooks') .config( function($stateProvider){ $stateProvider.state('splash', { url: "/splash/", templateUrl: "/app/splash/splash.tpl.html", controller: "SplashCtrl" }) }) そしてテストコード: it("should change to the splash state", function(){ inject(function($state, $rootScope){ $rootScope.$apply(function(){ $state.go("splash"); }); expect($state.current.name).to.equal("splash"); }) }) Stackoverflow(および公式のUIルーターテストコード)に関する同様の質問は、$ state.go呼び出しを$ applyでラップするだけで十分であることを示唆しています。しかし、私はそれをしました、そして、状態はまだ更新されていません。$ state.current.nameは空のままです。