개발자 99% 커뮤니티에서 수다 떨어요!
오늘 TIL 3줄 요약
테스트는 유연성, 유지보수성, 재사용성을 제공한다 = 변경이 쉬워진다
깨끗한 테스트 코드 = 가독성
TIL (Today I Learned) 날짜
03. 05
오늘 읽은 범위
9장. 단위 테스트
책에서 기억하고 싶은 내용을 써보세요.
TDD 법칙
- 실패하는 단위 테스트를 작성할 때 까지 실제 코드를 작성하지 않는다
- 컴파일은 실패하지 않으면서 실행이 실패하는 정도로만 단위 테스트를 작성한다
- 현재 실패하는 테스트를 통과할 정도로만 실제 코드를 작성한다
- 실제 코드가 진화하면 테스트 코드도 변해야 한다. 테스트 코드가 지저분할수록 변경하기 어렵다.
- 실제 코드를 변경해 기존 테스트 케이스가 실패하기 시작하면 지저분한 코드로 인해 실패하는 테스트를 점점 더 통과하기 어렵다
- 테스트가 없으면 개발자는 자신이 수정한 코드가 제대로 도는지 확인할 방법이 없고, 결함율이 높아지기 시작하여 변경을 주저하게 되고 더이상 코드정리를 하지 않게 된다
- 테스트는 유연성, 유지보수성, 재사용성을 제공한다 = 변경이 쉬워진다
- 깨끗한 테스트 코드 = 가독성
FIRST 규칙
- Fast : 테스트는 빨라서 자주 돌릴수 있어야 한다. 자주 돌리지 않으면 문제를 찾아내지 못하고 결국 고치지 못해 코드 품질이 망가진다
- Independant : 테스트는 서로 의존하면 안된다. 어떤 순서로 실행해도 괜찮아야, 하나가 실패할때 나머지도 잇달아 실패하지 않는다
- Repeatable : 어떤 환경에서도 반복가능해야 한다.
- Self-Validating : 불리언으로 결과는 내야 한다. 스스로 실패를 가늠하지 않는다면 판관은 주관적이고 지루한 작업이 된다
- Timely : 적시에 작성해야 한다. 단위 테스트는 실제 코드를 구현하기 직전에 구현해야 한다.