더북(TheBook)

이 문제는 jsdom11 같은 솔루션을 사용할 때도 발생할 수 있다. jsdom은 Node.js 환경에서 문서 객체 모델(Document Object Model, DOM) API를 구현한 라이브러리로, 웹 브라우저 없이도 DOM 관련 코드를 테스트할 수 있다. jsdom을 사용하여 실제 DOM을 대체할 수는 있지만, jsdom이 필요한 기능을 제대로 지원하는지 여부는 확인해야 한다. 테스트가 제대로 통과하는지를 언젠가 수동으로 다시 확인해야 하는 테스트는 좋지 않다. 작성하지 않도록 주의하자.

 

비동기 처리를 동기적 테스트로 흉내 내기

프로미스(Promise)async/await 등장으로 자바스크립트에서 비동기 코딩이 표준이 되었다. 그래도 우리는 테스트를 작성할 때 비동기 코드를 동기적인 방식으로 검증할 수 있다. 비동기 코드를 동기적인 방식으로 검증한다는 것은 테스트에서 직접 콜백 함수를 호출하거나 비동기 작업이 완료될 때까지 기다린다는 의미다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.