Community

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

← Go back

[클린코드]TIL. 9장 단위테스트

#clean_code
1년 전
382

오늘 TIL 3줄 요약

  • 테스팅은 코드의 무결성을 보증한다.

  • 클린하지 않은 테스트코드는 의미없다.

  • F.I.R.S.T 규칙은 클린한 테스트코드를 만든다.

TIL (Today I Learned)

2024. 07.05

오늘 읽은 범위 - 9장. 단위테스트

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

  • TDD 법칙

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

-런타임 에러가 나지 않을 정도로 코드를 작성한다.

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

-이는 수많은 테스트 코드를 유발하므로, 프로그럄의 안정적인 유지보수, 확장을 위해선 테스트 코드 관리가 필요하다.

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

-실제 코드가 진화하면, 테스트 코드도 변해야 한다.

테스트 코드가 지저분할수록 변경하기 어려워지기 때문에 적절한 관리가 필요하다.

  • F.I.R.S.T 규칙

-Fast: 테스트는 빠르게 동작해야하며, 자주 시연할 수 있어야한다.

-Indepentdent: 각각의 테스트는 독립적이며, 서로 의존하여서는 안된다.

-Repeatable: 어느 환경에서도 반복 가능해야한다.

-Self-Validating: 테스트 bool값으로 결과를 내어 자체적으로 검증해야한다. 즉, 성공 혹은 실패에 따른 로그가 아닌 정확한 값을 내야한다.

-Timely: 테스트는 적시에, 즉 테스트하려는 실제 코드는 구현하기 직전에 구현해야한다.

  • 핵심 요약, 소감

프로젝트 개발에 있어서 테스트 코드는 프로젝트의 결함율과 결부되어 있기에 매우 중요하다.

TDD는 코드 품질과 안정성을 높이는 데 중점을 두며, 개발자에게 직접적인 피드백을 제공한다.

BDD는 명확한 커뮤니케이션과 협업을 강화하여, 비즈니스 요구사항을 잘 반영하는 소프트웨어를 개발하는 데 유리하다.

언어마다 적절한 테스팅 라이브러리와 상황에 맞는 테스팅 전략을 선택하는 능력이 필요하다.

  • 더 알아볼 것

-e2e, unit test, jest, react testing livrary, vitest, cypress, playwright

easydev님의 북틸 TIL 구성이 굉장히 짜임새 있고, 가독성도 좋음

https://nomadcoders.co/community/thread/9309

rancho974님의 북틸 관련 도서에 대해 추천해주심

https://nomadcoders.co/community/thread/9310

wltjs8958님의 북틸 몰랐던 TEMPLATE METHOD 패턴에 대해 언급해주심

https://nomadcoders.co/community/thread/10002