Community

개발자 99% 커뮤니티에서 수다 떨어요!

← Go back
9장. 단위테스트
#clean_code
2년 전
598

9장 단위테스트

TDD : 실제 코드를 짜기 전에 단위 테스트부터 작성

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

- 컴파일은 실패하지 않으면서 실행이 실패하는 정도로만 단위 테스트를 작성한다.

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

개발과 테스트가 대략 30초 주기로 묶인다.

테스트 코드는 실제 코드 못지 않게 중요하다. 테스트 코드는 이류 시민이 아니다. 테스트 코드는 사고와 설계와 주의가 필요하다. 실제 코드 못지 않게 깨끗하게 짜야 한다.

(테스트 코드 대충 짜기 -> 실제 기능 변경시 테스트 코드 관리가 안됨 -> 테스트 코트가 의미가 없어짐 -> 코드가 불안 해짐.)

코드에 유연성, 유지보수성, 재사용성을 제공하는 버팀목이 바로 단위 테스트다.

테스트 코드가 지저분하면 코드를 변경하는 능력이 떨어지며 코드 구조를 개선하는 능력도 떨어진다. 테스트 코드가 지저분할수록 실제 코드도 지저분해진다 결국 테스트 코드를 잃어버리고 실제 코드도 망가진다.

깨끗한 테스트 코드

- 가독성: 명료성, 단순성, 풍부한 표현력이 필요

- 세 부분

○ 테스트 자료 만든다.

○ 테스트 자료를 조작한다.

○ 조작한 결과가 올바른지 확인한다.

- 테스트 코드는 본론에 돌입해 진짜 필요한 자료 유형과 함수만 사용한다.

- 이중 표준

○ 테스트 API 코드에 적요아는 표준은 실제 코드에 적용하는 표준과 확실히 다르다. 단순하고, 간결하고 ,표현력이 풍부해야 하지만, 실제 코드만큼 효울적일 필요는 없다.

개념 당 assert문 수를 최소로 줄여라

테스트 함수 하나는 개념 하나만 테스트 하라.

F: 테스트는 빨라야 한다.

I : 각 테스트는 서로 의존하며 안 된다.

R : 테스트는 어떤 환경에서도 반복 가능해야 한다.

S : 테스트는 bool 값으로 결과를 내야 한다.

T : 테스트는 적시에 작성해야 한다.