2017-11-24 2 views
0

유성 프로젝트의 통합 테스트를 작성하고 있습니다. 내 애플 리케이션에서 webhook POST 처리기를 테스트하고 싶다. 이것은 같은 모습입니다 :Meteor.defer의 코드가 끝났을 때 알 수 없음

post() { 
    Meteor.defer(() => { 
    // some logic here, e.g insert/update database 
    }) 
    return { 
    statusCode: 200, 
    } 
} 

참고 : 나는 가능한 한 빨리 코드 200 (OK)을 반환 할 때문에Meteor.defer가 필수입니다.
이 웹 훅을 테스트하려면이 웹 훅에 대한 가짜 POST 요청을 작성한 다음 그에 따라 데이터베이스가 업데이트되었는지 확인하십시오. 문제는 테스트에서 데이터베이스가 아직 업데이트되지 않았기 때문에 Meteor.defer 코드가 완료되면 내 어설 션이 실패한 것을 알 수 없습니다.
제안 사항이 있으십니까?

답변

0

모카의 테스트 timeouts을 사용하여 특정 시간 동안 기다렸다가 어설 션을 수행했습니다. 최상의 솔루션은 아니지만 지금은 효과가 있습니다.

관련 문제