기본 카르마/재스민 설정을 사용하여 각도 코드를 테스트하고 있습니다.앵귤러 단위 테스트에서 약속을 해결하는 방법
var $controllerConstructor, ctr, mockSuperheroData, scope, deferred, q;
describe('main controller', function() {
var $controllerConstructor, ctr, mockSuperheroData, scope, deferred, q;
beforeEach(inject(function($controller, $rootScope, $q) {
scope = $rootScope.$new();
$controllerConstructor = $controller;
q = $q;
mockSuperheroData = {
getSuperheroes: function() {
deferred = q.defer();
return deferred.promise;
}
};
ctr = $controllerConstructor('MainCtrl', {$scope: scope, $location: {}, superheroService: mockSuperheroData, keys: {}});
}));
it('should set the result of getResource to scope.heroes', function() {
scope.getHeroes();
expect(scope.heroes).toBe(100);
});
}
scope.getHeroes()
이 약속을 반환하는 mockSuperheroData.getSuperheroes()
전화 : 여기 내 테스트입니다. 어떻게하면 단위 테스트에서 원하는 것을 반환하겠다는 약속을 강요합니까? 어디에서 그 수익을 조롱하겠다는 약속을 할 수 있습니까?
실제로'var' 선언문을 사용할 수 있습니다 ... – Bergi
죄송합니다. 질문에 추가하는 것을 잊어 버렸지 만 지금은 거기에 있습니다. – jhamm