내가 호출 HTTP 전에 약속을 기다리는 코드를 테스트하기 위해 노력하고있어 :
코드 :
function foo() {
return Parse.Promise.as(1).then(function(one) {
return $http.get('/bar');
});
}
테스트 :
describe('foo', function() {
it('gets', function(done) {
$httpBackend.expect('GET', '/bar').respond(200);
foo().then(function(res) {
expect(res.status).to.be.equal(200);
done();
});
$httpBackend.flush();
});
});
을
오류 :
1) gets
foo
No pending request to flush !
guess is beacuse Parse.Promise
은 약속 해상도를 지연시키고 $httpBackend.flush
이 호출되면 http 요청이 이루어지지 않았습니다.
해결 방법이 있습니까?
이 코드의 실행 순서를 중단하고는 설명 할 수없는 실패를 얻을 수 있습니다. –
원한다면 한 번만 테스트 할 수 있습니다. 몇 시간 동안 검색 한 후에 작동시킬 수있는 유일한 방법이었습니다. – gfpacheco