에러가 발생시키는 비동기 코드를 테스트할 때 비동기 핸들링이 되지 않아서 생기는 에러다.
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 혹은 콜백으로 비동기처리를 정상적으로 해준다면 해결된다.