나는 각도 컨트롤러의 일부 코드가 있습니다.각 자원 약속 잡기, 자스민 toThrow()
expect(function(){
scope.login();
}).toThrow();
그러나이 오류가 발생합니다 : : 예외를 던질
예상 기능을 나는 그것이 오류가 발생하거나하지 자스민과과 같이 있는지 여부를 테스트하기 위해 노력하고있어
$scope.credentials = { username:"", password:"", rememberMe:false }; var currentUser = {}; $scope.login = function(callback){ user.get($scope.credentials) .$promise .then(function(user){ $scope.currentUser = user; return cb ? cb(user) : user; }) .catch(function(res){ throw "LoginError"; }); };
.
예상대로 작동하는 약속의 수락 테스트를 마쳤습니다.하지만 처리 할 수없는 비동기식 부분이 있다고 가정합니다.
나는 또한 전달 전화를 시도하고 done() 호출하지만 그 중 하나를 작동하지 않았다.
편집 : 내 다른 검사 작업, 나는 서버 (200)를 반환하고 사용자와 모든 작품을 다른 시나리오를 시도 할
beforeEach(inject(function($rootScope,$controller,_$httpBackend_){
$httpBackend = _$httpBackend_;
successCallback = jasmine.createSpy();
errorCallback = jasmine.createSpy();
scope = $rootScope.$new();
controller = $controller('LoginController',{
'$scope':scope
});
}));
afterEach(function(){
$httpBackend.verifyNoOutstandingExpectation();
$httpBackend.verifyNoOutstandingRequest();
});
참고 : 내가 지금처럼 내 백엔드을 조롱하고
. 나는 특별히 $ scope.login()이 서버 에러를 받았을 때 에러를 던질지를 테스트하고있다.