[Jest] Jest worker encountered 4 child process exceptions, exceeding retry limit

아홉번째태양·2023년 6월 24일
0

에러가 발생시키는 비동기 코드를 테스트할 때 비동기 핸들링이 되지 않아서 생기는 에러다.

문제의 코드

it('should throw Error if invalid user type.', () => {
  const result = controller.signup(signupForm, { type: 'invalid' });
  expect(result).rejects.toThrowError();
});

async signup(form, query) {
  if (is<UserType>(query.type)) {
    throw new BadRequestException();
  }
  return true;
}

해결

it('should throw Error if invalid user type.', async () => {
  const result = controller.signup(signupForm, { type: 'invalid' });
  await expect(result).rejects.toThrowError();
});

async/await 혹은 콜백으로 비동기처리를 정상적으로 해준다면 해결된다.

0개의 댓글