바위타는 두루미
[CleanCode]9.단위테스트 본문
TDD 법칙 세가지
1. 실패하는 단위 테스트를 작성할 때까지 실제 코드를 작성하지 않는다.
2. 컴파일은 실패하지 않으면서 실행이 실패하는 정도로만 단위테스트를 작성한다.
3. 현재 실패하는 테스트를 통과할 정도만 실제 코드를 작성한다.
=> 이렇게 일하면 테스트케이스가 너무많아지고, 많은 테스트케이스는 관리 문제를 유발하기도 한다.
깨끗한 테스트 코드 유지하기.
- 지저분한 테스트 코드일수록 실제 코드가 변경할때 함께 변화하기 어렵다.
테스트는 유연성, 유지보수성, 재사용성을 제공한다.
- 이를위해서는 단위테스트가 필요하다. 단위테스트가 없다면 수정이 두렵다.
깨끗한 테스트코드란 ?
- "가독성"
- 테스트는 명확히 세부분으로 나뉨 : 테스트자료를 만들기 -> 테스트자료 조작하기 -> 결과가 올바른지 확인하기
- 테스트에 적용하는 표준은 실제코드에 적용하는 표준과 달라도된다.
- 실제코드만큼 효율적일 필요는 없다.
테스트당 assert 하나!
- 가혹하다 느낄 수 있지만, 결론이 하나이기 때문에 코드를 이해하기 좋다.
- 즉, 테스트 함수마다 한 개념만 테스트하라
F.I.R.S.T
- Fast : 테스트는 빨라야 한다.
- Independent : 각 테스트는 의존성이 없어야한다. 어떤 순서로 실행해도 괜찮아야 한다.
- Repeatable : 어떤 환경에서도 반복 가능하도록! 네트워크 없는 환경에서도 !
- Self-Validating : 테스트는 bool로 결과를 내서 스스로 성공과 실패를 가늠하도록 해야한다.
- Timely : 적시에, 즉 테스트하려는 실제 코드를 구현하기 직전에 구현한다.
'book' 카테고리의 다른 글
[CleanCode]6.객체와 자료구조 (0) | 2022.03.02 |
---|---|
[CleanCode] 5. 형식맞추기 (0) | 2022.03.01 |
[CleanCode]4.주석 (0) | 2022.02.24 |
[CleanCode]3.함수 (0) | 2022.02.22 |
[CleanCode 정리] 2.의미있는 이름 (0) | 2022.02.20 |