반응형
매개변수 done 이용방법: 비동기 함수가 언제 종료되는지 명시해주는 용도
return 키워드 이용방법: retrun 키워드를 붙여주는 것으로 테스트환경에서는 이부분을 비동기로 처리해야한다고
인지한다.
resolves 브릿지 이용방법: return 키워드와 함께 사용해주어야 한다.
async/await 키워드 이용방법: 콜백 자체를 비동기로 처리 (이 방법을 추천)
example.js 코드 추가
// 기본값은 최대 5초 따라서 그 이상은 test코드 부분에서 설정해주어야 한다.
export function asyncFn() {
return new Promise((resolve) => {
setTimeout(() => {
resolve('Done!')
}, 5000)
})
}
example.test.js -> 일부러 실패 코드를 넣어서 확인
import { asyncFn } from './example';
describe('비동기 테스트', () => {
test('done', (done) => {
asyncFn().then((res) => {
expect(res).toBe('Done?')
done();
})
})
test('then', () => {
return asyncFn().then((res) => {
expect(res).toBe('Done?')
})
})
test('resolves', () => {
return expect(asyncFn()).resolves.toBe('Done?')
})
// 최대 5초를 초과할 경우 테스트 코드에서 시간 설정
test('async/await', async () => {
const res = await asyncFn()
expect(res).toBe('Done?')
}, 7000)
})
반응형
'프론트엔드 > 단위 테스트' 카테고리의 다른 글
VTU 첫 테스트 및 에러 해결(버전 문제) (0) | 2022.01.21 |
---|---|
모의(Mock) 함수 (0) | 2022.01.20 |
Jest Matchers 이해 (0) | 2022.01.18 |
Jest Globals (0) | 2022.01.17 |
첫 테스트 (0) | 2022.01.16 |