2013-03-18 2 views
3

사용자가 다른 역할 및 설정을 가지고 있기 때문에 AngularJS 컨트롤러에 대한 다중 사용자 테스트를 수행하고 있습니다. 첫 번째는 항상 훌륭하게 작동하지만 후속 시도는 컨트롤러가 싱글 톤이므로 HTTP 모의 요청을 시도하지 않습니다. 기존의 모든 컨트롤러를 제거하거나 Angular 모듈 설정 전체를 제거하고 다시 시작하여 다시 이러한 유형의 테스트를 수행 할 수있는 방법이 있습니까?단위 테스트에서 각도 모듈 지우기

답변

2

beforeEach 함수로 컨트롤러를 만들려고 했습니까? 이렇게하면 컨트롤러가 각 테스트마다 재생성됩니다.

beforeEach(inject(function ($rootScope, $controller, $location) { 
    root = $rootScope; 
    scope = $rootScope.$new(); 
    location = $location; 
    controller = $controller('AccountInfoController', { $scope: scope, $location:$location, customer: customer }); 
})); 
+0

예, 그게 내가 이미 뭘하는지 거의이다 명확 모듈을하려면이 코드를 시도 : var에 $ 범위 = $ rootScope을 $ 새();. return {controller : $ controller (controllerName, { $ scope : $ scope, $ routeParams : routeParams || {} }), scope : $ scope}; – dariusriggins

관련 문제