본문 바로가기

프로그래밍 독서/클린코드

9. 단위 테스트

가장 중요한 3요소.

 

가독성, 가독성, 가독성

 

테스트 코드는 실제 코드와는 다르지만 수평하게 생각해야한다. 아무렇게나 짜면 안된다.

 

제 1번 요구사항은 가독성이다

 

 

 

 

 

아래에서는 좀더 세분화한 다섯가지 규칙 (FIRST 규칙)을 제시한다.

 

1. Fast 빠른

빠르지 않은 테스트 코드는 점점 돌리기가 힘들어지고 유지보수에 문제를 만든다

 

2. Independant 독립적인

각 테스트가 서로 의존하고 있으면 점점 테스트코드를 분화시키기 어려워진다.

각 함수가 한가지 일만 하는 것처럼 각 테스트도 한가지 일만 해야하고 서로 독립적일수록 좋다.

 

3. Repeatable 반복하는

환경이 바뀌어도 반복가능해야한다. 집이든 회사든 어디서든.

 

4. Self-validating 자가검증하는

결과를 성공, 실패로만 내야한다. 결과를 알기 위해 로그를 읽어야하면 안된다. 주관적인 테스트가 돼 버린다.

 

5. Timely 적시에

테스트코드를 먼저 작성하고 그 테스트코드를 통과할만큼만 실제코드를 구현한다.

 

 

 

 

 

테스트 코드에 관한한 TDD(test driven development) 란 법칙이 꽤 유용하다.

 

아래는 세가지의 TDD 법칙이다.

1. 실패하는 단위 테스트를 작성할때까지 실제 코드를 작성하지 않는다.

2. 컴파일은 성공하면서, 실행이 실패하는 수준의 단위 테스트를 작성할 것

3. 현재 실패하는 테스트를 통과할 정도로만 실제코드를 작성한다.

 

 

클린코드를 다 보고나면 TDD도 볼 생각이다.

 

사실 이 챕터는 책 한권으로 소개해야 할 정도의 분량인데 굉장히 간략하게 설명해 놓은 듯 하다.

'프로그래밍 독서 > 클린코드' 카테고리의 다른 글

10. 클래스  (0) 2022.01.16
8. 경계  (0) 2022.01.12
7. 예외처리  (0) 2022.01.10
6. 객체와 자료구조  (0) 2022.01.10
5. 형식 맞추기  (0) 2022.01.10