[TIL] [2024.10.25] Clean Code
김동진
2 min read
💡
Today I Learned
실패하는 단위 테스트를 작성할 때까지 실제 코드를 작성하지 않는다.
컴파일은 실패하지 않으면서 실행이 실패하는 정도로만 단위 테스트를 작성한다.
현재 실패하는 테스트를 통과할 정도로만 실제 코드를 작성한다.
BUILD-OPERATE-CHECK 패턴
테스트 자료를 만든다.
테스트 자료를 조작한다.
조작한 결과가 올바른지 확인한다.
💡
책에서 기억하고 싶은 내용을 써보세요.
given-when-then 관례를 사용한다.
테스트를 분리하면 중복되는 코드가 많아진다.
TEMPLATE METHOD 패턴을 사용하면 중복을 제거할 수 있다.
함수 하나에 여러 assert 문을 넣기도 한다. 단지 assert문 개수는 최대한 줄여야 좋다.
F.I.R.S.T
Fast : 테스트는 빨리 돌아야 한다.
Independent : 각 테스트는 서로 의존하면 안 된다.
Repeatable : 테스트는 어떤 환경에서도 반복 가능해야 한다.
Self-Validating : 테스트는 bool 값으로 결과를 내야 한다.
Timely : 테스트는 적시에 작성해야 한다.
💡
오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요.
- 단위테스트의 중요성에 대해 많은 곳에서 들어보았다. 개발을 진행하면서 여러 단위테스트를 작성해보았지만 어떻게 작성해야 더 좋은 단위테스트가 되는지 고민하였다. 여러 실패 케이스를 만들어 테스트를 진행하면 당연히 좋지만, 현실적으로 우리는 타협을 해야한다. 모든 실패 케이스를 만들 수 없다면, 선택과 집중을 하여 반드시 필요한 케이스를 검증하고 조금 더 직관적인 테스트 케이스를 작성하는 요령이 필요하다.
0
Subscribe to my newsletter
Read articles from 김동진 directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by