2013-10-02 6 views
0

간단한 서비스를 테스트하고 있지만 Unkown Provider 오류가 발생합니다. 여기AngularJS 서비스 테스트

var sessionManager = angular.module('MyApp.SessionManager', ['ngResource']); 
sessionManager.factory('UserService', function($resource) { 
    var UserService = $resource('/api/users/:key', {}, { 
     getNewUUID: { 
      method: 'GET', 
      params: { 
       action: 'getNewUserUUID' 
      } 
     } 
    }); 

    return UserService; 
}); 

시험한다 : 다음은 서비스 정의가 나는 문제를 볼 수없는 것

describe('Testing SessionManager', function() { 

    var userService; 

    beforeEach(function() { 
     module('MyApp.SessionManager'); 

     inject(function($injector) { 
      userService = $injector.get('UserService'); 
     }); 
    }); 

    it('should contain a UserService', function() { 
     expect(userService).toBeDefined(); 
    }); 
}); 

, 내가 얻을 수 있기 때문에 자바 스크립트 파일 UserService가 호출되고 있음을 알 수 파일의 맨 위에 콘솔 로그가 있지만, 서비스 정의에 넣으면 호출되는 것을 보지 못합니다. 어떤 이유로 Angular가 내 서비스를 인스턴스화하지 않는 것입니까?

+0

테스트 러너에서 angular-resource.js가로드 되었습니까? 그것이 ngResource가 정의 된 곳입니다. –

답변

0

모듈을 추가하기 위해 다시 열 때마다 종속성을 선언 할 수 있다고 생각하여 문제가 내 모듈 MyApp.SessionManager 인 것을 알게되었습니다. 물론 위의 코드는 테스트가 끝날 때까지 서비스가 실제로 살아남은 경우라면 괜찮습니다.

관련 문제