[우아한테크코스 백엔드 4기] 레벨1 - TDD 강의 정리

헌치·2022년 2월 14일
1

우아한테크코스

목록 보기
6/30

With automated tests, when I start to feel stress, I run the tests. Tests are the Programmer’s Stone, transmuting fear into boredom. “No, I didn’t break anything. The tests are all still green.” The more stress I feel, the more I run the tests. Running the tests immediately gives me a good feeling and reduces the number of errors I make, which further reduces the stress I feel.”

TDD는 두려움을 지겨움으로 바꾸는 행위다.

TDD 강의 정리

tdd

🚀 원칙

1. 한번에 여러 테스트를 만들기보단, 한 테스트 씩 최소 단위로 진행

  • 레드 → 그린 반복

2. 기존 기능 수정

  • 1) 임시 메소드 생성
  • 2) 테스트 코드도 임시 메소드에 맞춰서 작성
  • 3) 기능 완성
  • 4) 에러가 없으면 다시 원래 메소드에 복붙
    (기존 코드에 영향 최소화)

3. 하나의 테스트 케이스에는 하나의 assertThat

  • 만약 assert 문이 여러 개면 메소드가 너무 많은 일을 하지는 않는지 의심해라.

4. 학습테스트 작성

  • 자바 문법 관련된 작은 테스트를 작성해 돌려볼 수 있다.

5. test, 구현사항 동시 commit

  • 하나의 기능이 완성되어 에러가 없을 때 커밋해야 한다.

6. 기존 코드에 영향 X

  • 테스트 코드가 구현사항을 변형시켜서는 안된다.

7. 핵심 기능부터 구현하자

  • 프로그램의 흐름에 따라 구현했을 시 시간이 부족할 수도 있음

🗒 Tip

  • private 메소드 테스트 방법
    1) 구현(프로덕션) 코드에서 복사해와서 런타임 에러가 나는지 확인 후 지우기
    2) 간접적으로 테스트를 한다
    3) 리플렉션 (비추천)

  • 테스트 메소드의 한글 이름으로 인한 warning 해결법
    -@DisplayName()
    -@SuppressWarnings(”NoneAsciiCharacters”)
    - 나의 해결법 : 인텔리제이 세팅으로 해당 경고 끄기

  • 인자 이름 : 메소드 관점에서 인자를 바라봐라.

  • 충분히 의미있는 테스트에 한해, 구현 클래스 생성자 추가 가능

  • 클래스 생성 후 테스트 클래스 생성법(페어가 알려줌)
    1) 클래스명에서 option + enter 클릭
    2) Create Test 클릭
    3) 클래스 안 메소드들이 포함된 테스트클래스 생성

🔗 출처

0211 우테코 강의
로마의 수업 정리(슬랙)
칙촉의 수업 정리

profile
🌱 함께 자라는 중입니다 🚀 rerub0831@gmail.com

0개의 댓글