[javascript] Mocha에서 콜백을 사용하지 않는 비동기 테스트 작성 방법은?
아래는 Mocha에서 콜백을 사용하지 않는 비동기 테스트를 작성하는 예시입니다.
// 필요한 동작이 완료된 후에 resolve되는 프로미스를 반환하는 비동기 함수 예시
function fetchData() {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve('Data successfully fetched');
}, 1000);
});
}
describe('비동기 테스트', () => {
it('데이터를 성공적으로 가져와야 함', async () => {
// 비동기 함수 호출
const data = await fetchData();
// 테스트 결과 검증
assert.equal(data, 'Data successfully fetched');
});
});
위 코드에서 fetchData()
는 프로미스를 반환하는 비동기 함수입니다. async
키워드를 사용하여 테스트 함수를 비동기 함수로 만들고, await
키워드를 이용해 비동기 함수의 실행이 완료될 때까지 기다릴 수 있습니다.
fetchData()
함수가 resolve되면 반환된 데이터를 검증하기 위해 assert.equal()
을 사용합니다.
Mocha는 비동기 테스트 중에 발생할 수 있는 에러를 처리하기 위해 try-catch
블록을 사용할 수 있습니다. 에러가 발생하면 테스트는 자동으로 실패로 표시됩니다.