2
내가 작성한 코드에 대한 단위 테스트를 작성하려고하는데 문제는 내가 실행 한 문제는 모의 콜백이 함수를 실행 한 후 호출되지만 내 테스트가 실패 할 것으로 예상된다는 것이다. 절대로 불리지 않는다. 이 기능은 테스트중인Jasmine Testing Node.js 비동기 모듈
describe("Asynchronous specs", function() {
var mockNext;
beforeEach(function() {
mockNext = jasmine.createSpy('mockNext');
var res;
parallelRequests.APICall(testObject[0], null, mockNext);
});
it("callback spy should be called", function() {
expect(mockNext).toHaveBeenCalled();
});
});
은 매우 간단하다 : 나는 의심
function APICall(options, res, next) {
request(options, callback);
function callback(error, response, body) {
if (error) {
if (error.code === 'ETIMEDOUT') {
return logger.error('request timed out: ', error);
next(error);
}
logger.error('request failed: ', error);
next(error);
}
next(null);
}
}
문제는 모의 콜백이 때문에 요청의 비동기 자연 API 호출에 실행되기 전에 기대를 테스트 자스민입니다. 다른 사람들이 done() 및 플래그를 사용하여 제안한 것을 사용했지만 시도했지만 행운이 없었습니다. 이 문제에 대한 몇 가지 지침을 고맙게 생각합니다.