여러분은 프로젝트를 진행할 때 테스트 코드를 작성하는 편이신가요? 테스트 코드는 시간이 오래 걸린다는 이유로 항상 미루고 있다가 못 하는 경우가 허다한데요, 저는 얼마전에 끝난 프로젝트에 테스트를
여러분은 프로젝트를 진행할 때 테스트 코드를 작성하는 편이신가요? 테스트 코드는 시간이 오래 걸린다는 이유로 항상 미루고 있다가 못 하는 경우가 허다한데요, 저는 얼마전에 끝난 프로젝트에 테스트를 작성하면서 그동안 테스트를 하기 어려운 코드(의존성 높은)를 작성해왔다는 걸 몸소 느끼고 쩔쩔 매고 있답니다. 커버리지 93%에 달하는 테스트케이스 1000개를 짠 경험을 소개한 해당 글을 보며 다시 힘내보려고 합니다. 테스트 코드의 필요성을 다시금 상기시키고 싶은 분들께 추천드려요! [ ✍️ 내용 요약 ] 1. 왜 테스트를 그렇게 많이 짰나요? - 자신을 포함해 사람을 믿지 않는다. 사람은 실수할 여지가 무한하다. 2. 리액트, 자비스크립트 테스트 뭘로 짜셨나요? - Jest를 주로 사용 - Jest가 하는 일은 함수가 반환한 값이 기대한 값과 일치하는 지, 함수가 어떤 인자로 몇 번이나 호출되는지 알려주고 모듈을 바꿔치기 해줌 3. 테스트 코드 잘 짜는 법이 있나요? - Jest 한정, 자바스크립트의 특성을 잘 알고 있어야 함 - 모듈을 require 혹은 import했을 때 초기화 순서 파악해야 단일 테스트에서 성공하던 것이 다중 테스트에서 실패하는 이유를 알 수 있음 - jest.mock, jest.resetModules, jest.spyOn 등 여러 유틸리티 잘 쓰기 - 자바스크립트의 monkey patch(런타임 상에서 함수, 메서드, 속성 변경)가 왜 가능한지 탐구하기 - Promise, setTimeout, setInterval 등 비동기 작업 동작 이해 4. TDD 좋아하세요? - TDD는 좋아하지 않지만 한 두 번 더 써 볼 의향 있음 5. 자랑할만한 테스트 코드가 있나요? - 랜딩페이지에서 로그인 후 홈화면으로 가는 flow 예시를 듬 - 테스트 코드를 위한 유틸리티 만들 것을 권장 => 테스트 라이브러리 교체시 유용함