비동기 처리 테스트

const wait = (duration : number) => {
  return ne Promise((resolve) => {
    setTimeout( () => {
      resolve(duration)
    }, duration)
  })
}
// Promise 이용
test('지정 시간을 기다린 뒤 경과 시간과 함께 resolve된다.', () => {
  return wait(50).then((duration) => {
    expect(duration).toBe(50)
  })
})

// resolve 매처를 사용하는 단언문 return
test('지정 시간을 기다린 뒤 경과 시간과 함께 resolve된다', () => {
  return expect(wait(50)).resolves.toBe(50)
})

// async/await
test('지정 시간을 기다린 뒤 경과 시간과 함께 resolve된다', async () => {
  await expect(wait(50)).resolves.toBe(50)
})

// async/awiat 더 간략한 방법
test('지정 시간을 기다린 뒤 경과 시간과 함께 resolve된다', async () => {
  expect(awiat wait(50)).toBe(50)
})

Reject 테스트

비동기 처리를 할 때에는 첫번째 줄에 expect.assertions를 추가하면 사소한 실수를 줄일 수 있음.

expect.assertions

Last updated