DAY 17, 18
🔖 오늘 읽은 범위 : 9장. 단위 테스트(p. 153 ~ 169)
<aside>
😃 책에서 기억하고 싶은 내용을 써보세요.
</aside>
- TDD 법칙 (p. 155)
- 실패하는 단위테스트를 작성할 때까지 실제 코드를 작성하지 않는다.
- 컴파일은 실패하지 않으면서 실행이 실패하는 정도로만 단위 테스트를 작성한다.
- 현재 실패하는 테스트를 통과할 정도로만 실제 코드를 작성한다.
- 테스트 코드가 지저분할수록 변경하기 어려워진다. (p. 156)
- 테스트 코드는 실제 코드 못지 않게 중요하다. (p. 157)
- 깨끗한 테스트 코드를 작성하는 방법은 여느 코드와 마찬가지다. (p. 158)
- But, 실제 코드만큼 효율적일 필요는 없다. (p. 162)
- 테스트 당 assert 하나
- 테스트를 assert 개수만큼 쪼개라
- template method 패턴 사용하여 코드의 중복을 제거할 수 있다.
- 하지만 코드의 양이 늘어날 수 있다.
- 함수명에
given-when-then
이라는 관례를 사용하면 테스트 코드를 읽기 쉬워진다.
- F.I.R.S.T 규칙
- 빠르게(first)
- 독립적으로(independent)
- 반복가능하게(repeatable)
- 자가검증하는(self-validating): 테스트는 Bool 값으로 결과를 내야한다.
- 적시에(timely): 테스트코드는 실제 코드를 구현하기 직전에 구현한다.
<aside>
🤔 오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요
</aside>
테스트코드는 실제로 작성해본적이 없어서 생소한 내용이 많았다.
테스트 코드를 깨끗하게 작성하는 방법은 일반 코드를 작성하는 방법과 같으나 실제 코드만큼 효율적이지 않아도 된다는 점이 기억에 남는다.
테스트 코드는 실제 코드보다 먼저 작성하라는 점을 비롯한 TDD 법칙은 사실 잘 이해가 되지 않는다. 하지만 실제로 작성하다보면 이해가 될 것 같다.
assert문은 가능하면 테스트당 한 개로 하고, F.I.R.S.T 규칙에 맞춰서 테스트코드를 작성해봐야겠다.
<aside>
🔎 궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.
</aside>
기록하신 TIL을 공유해주세요 - TIL 출석표