핵심 요약
인프랩은 TypeScript와 Jest를 활용한 테스트의 필요성과 잘 작성하는 방법에 대해 경험과 교훈을 공유합니다.
주요 경험
- 테스트는 구현이 아닌 실행 결과를 검증하는 방향으로 설계해야 한다.
- 테스트 중복을 무작정 줄이기보다 서술적이고 의미 있게 리팩터링한다.
- AAA/GWT 구조를 활용해 가독성과 독립성을 높이고, 필요 시 팩터리로 재사용한다.
- 모의 객체의 남용을 피하고 비즈니스 행위를 명시적으로 나타내는 테스트명을 사용한다.
얻은 인사이트
- 테스트 코드는 코드의 문서 역할도 한다고 느꼈다.
- 사용자 관점의 테스트는 리팩토링 내성에 크게 기여한다.
- 적절한 구조화와 명확한 의도는 유지보수를 쉽게 만든다.


