-
단위 테스트 - 비동기 테스트테스트/단위 테스트 (Vue) 2021. 9. 4. 10:56
단위 테스트 - 비동기 테스트
비동기함수
/* example.js */ export function asyncFn() { return new Promise(resolve => { setTimeout(() => { resolve('Done!') }, 2000) }) }
테스트
/* example.test.js */ import { asyncFn } from './example' describe('비동기 테스트', () => { // 비동기 테스트 - 패턴1 // test() 두번째 인수 콜백으로 done 매개 변수 사용, 함수처럼 실행 가능 // 비동기가 종료되는 시점에 실행 test('done', (done) => { asyncFn().then(res => { expect(res).toBe('Done!') done() }) }) // 비동기 테스트 - 패턴2 // return 키워드 사용 // 비동기로 동작해야 한다는 것을 인지 test('then', () => { return asyncFn().then(res => { expect(res).toBe('Done!') }) }) // 비동기 테스트 - 패턴3 // resolves 브릿지 추가 // expect() 에 비동기 함수를 실행 // 주의사항 - return 키워드로 반환 // test('resolves', () => { // return expect(asyncFn()).resolves.toBe('Done!') // }) test('resolves', () => expect(asyncFn()).resolves.toBe('Done!')) // 비동기 테스트 - 패턴4 // async/await 사용 // 콜백 자체를 비동기로 만들어서 사용 test('async/await', async () => { const res = await asyncFn() expect(res).toBe('Done!') }) })
'테스트 > 단위 테스트 (Vue)' 카테고리의 다른 글
단위 테스트 - VTU 테스트 및 API (0) 2021.09.07 단위 테스트 - 모의(Mock) 함수 (0) 2021.09.05 단위 테스트 - Jest Matchers (0) 2021.09.04 단위 테스트 - Jest Globals (0) 2021.09.03 단위 테스트 - 테스트 환경 구성 (0) 2021.09.01