본문 바로가기
프론트엔드/단위 테스트

비동기 테스트

by step 1 2022. 1. 19.
반응형

매개변수 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