배울 것
- 테스트 코드가 필요한 이유
- 좋은 테스트 코드가 무엇인지
- 실무에서는 어떻게 테스트를 작성하는가
- 나쁜 테스트 코드는 무엇인가 → 이유를 근거한 상세한 테스트 작성 방법
테스트는 왜 해야할까
테스트 코드를 작성하지 않는다면?
- 변화가 생기는 순간마다 발생할 수 있는 모든 케이스를 고려해야 한다. → 리팩토링과 배포가 어려워짐
- 변화가 생기는 순간마다 모든 팀원이 동일한 고민을 해야한다.
- 빠르게 변화하는 소프트웨어의 안정성을 보장할 수 없다.
테스트하기 어려운 영역
- 관측할 때마다 다른 값에 의존하는 코드 (input)
- 현재 날짜/시간, 랜덤값, 전역변수/함수, 사용자 입력 등
- 외부 세계에 영향을 주는 코드 (output)
- 표준 출력, 메시지 발송, 데이터베이스에 기록하기 등
TDD