Angular ui 라우터에 구축 된 내 애플리케이션에서 라우터를 테스트하는 데 문제가 있습니다. 내가 테스트하고 싶은 것은 상태 전환이 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 라우터 테스트 코드)에 대한 유사한 질문은 $ apply에서 $ state.go 호출을 래핑하는 것으로 충분할 것이라고 제안합니다. 그러나 나는 그것을했고 상태는 여전히 업데이트되지 않습니다. $ state.current.name은 비어 있습니다.