inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[워밍업 클럽 3기 BE code] 2주차

당황한 너구리
0

테스트가 필요한 이유


단위 테스트


수동 테스트 vs 자동화된 테스트 비교

수동 테스트

자동화된 테스트


테스트 케이스 세분화하기


TDD (Test Driven Development)

TDD의 장점


기능 구현 방식 비교

방식 장점 단점

선 기능 구현, 후 테스트 작성


TDD의 핵심 원칙: Red → Green → Refactor

1⃣ Red (실패하는 테스트 작성)

2⃣ Green (기능 구현하여 테스트 통과)

3⃣ Refactor (리팩토링)


테스트는 [문서]다

@DisplayName("회원 가입 시 이메일이 중복되면 예외가 발생한다")
@Test
void 회원가입_이메일중복_예외발생() {
    // Given
    // When
    // Then
}

생각 정리

테스트의 중요성에 대해서는 인지하고 있었지만 테스트 코드 작성이 항상 귀찮고 어렵게 느껴졌었다. 하지만 테스트 코드를 작성하고 결과를 확인하는 과정 자체가 더 나은 프로덕션 코드를 만드는 과정이 될 수 있다는 것을 깨달았다.

특히 TDD의 경우에는 기능이 없는데 테스트 코드를 먼저 작성하는게 이해가 안 됐었는데 테스트를 실패하는 최소한의 기능을 먼저 만들고 점진적으로 더 나은 코드 작성 및 설계를 할 수 있도록 유도하는 과정이라는 것을 알게 되었다.

 

강의

답변 0