새로운 모카 버전 :
이제 mocha에 약속을 반환 할 수 있으며, 진행하기 전에 mocha가 완료 될 때까지 기다립니다. 예를 들어 다음 테스트는 통과합니다.
let a = 0;
before(() => {
return new Promise((resolve) => {
setTimeout(() => {
a = 1;
resolve();
}, 200);
});
});
it('a should be set to 1', () => {
assert(a === 1);
});
여기 에서 설명서를 찾을 수 있습니다.
이전 mocha 버전 :
다른 모든 일이 발생하기 전에 비동기 요청을 완료하려면 done
before 요청에서 매개 변수 를 사용 하고 콜백에서 호출해야합니다.
Mocha는 done
다음 블록 처리를 시작하기 위해 호출 될 때까지 기다립니다 .
before(function (done) {
db.collection('user').remove({}, function (res) { done(); });
})
it('test spec', function (done) {
});
after(function() {});
하지만 단위 테스트를 위해 데이터베이스를 스터 빙하지 않으면 데이터베이스의 요청이 간단한 코드 실행에 비해 상당히 길 수 있으므로 실행 속도가 크게 느려질 수 있으므로주의해야합니다.
자세한 정보는 Mocha 문서를 참조하십시오 .
before
핸들러 로부터 프라 미스를 반환하는지 확인하기 만하면 됩니다. 예before(function () { return db.collection...}