Community

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

← Go back
TIL 9장 단위테스트
#clean_code
2년 전
610

오늘 TIL 3줄 요약

  • 테스트 코드는 실제 코드만큼이나 중요하다

  • 테스트 코드는 실제 코드의 유연성, 유지보수성, 재사용성을 보존하고 강화한다

  • 테스트코드의 표현력을 높이고 간결하게 정리하자

TIL (Today I Learned) 날짜

2022.05.07

오늘 읽은 범위

9장 단위테스트

책에서 기억하고 싶은 내용을 써보세요.

<TDD 법칙 세 가지>

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

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

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

<깨끗한 테스트 코드 유지하기>

* 테스트 코드는 실제 코드 못지 않게 중요하다. 실제 코드 못지않게 깨끗하게 짜야 한다.

* 단위 테스트 코드는 유연성, 유지보수성, 재사용성을 제공한다.

* 테스트 케이스가 없다면 모든 변경이 잠정적인 버그다.

* 깨끗한 테스트 코드를 만들려면? 가독성을 위해 명료성, 단순성, 풍부한 표현력이 필요

* 도메인에 특화된 테스트 언어 : 테스트를 구현하는 당사자와 나중에 테스트를 읽어볼 독자를 도와주는 테스트 언어

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

<테스트 당 assert 하나>

* TEMPLATE METHOD 패턴을 사용하면 중복을 제거할 수 있다.

* '단일 assert문'이라는 규칙이 훌륭한 지침이라 생각한다.

* 테스트 당 개념 하나

<F.I.R.S.T.>

* 빠르게 Fast : 테스트는 빨라야 한다.

* 독립적으로 Independent : 각 테스트는 서로 의존하면 안 된다.

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

* 자가검증하는 Self-Validating : 테스트는 부울bool값으로 결과를 내야 한다. (성공 아니면 실패)

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

오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요

그동안은 오류처리라던가 테스트코드의 필요성을 잘 몰랐는데

코드의 유지보수를 위해 차차 내 코드에도 하나씩 적용해봐야겠다