TDD 사이클
- 1. 실패하는 테스트 코드 작성하기
- 2. 테스트 통과시키기
- 3. 이전 두 단계에서 코드 추가하거나 리팩터링 하기
실패하는 테스트 코드 작성하기
import static org.junit.jupiter.api.Assertions.assertEquals;
import org.junit.jupiter.api.Test;
class StringLengthCalculatorTest {
@Test
void testCalculateLength() {
StringLengthCalculator calculator = new StringLengthCalculator();
int length = calculator.calculateLength("hello");
assertEquals(5, length);
}
}
- 먼저 테스트 요건에 맞는 테스트 코드를 작성한다.
- 본 코드가 없으므로 당연히 컴파일 에러 발생 및 테스트는 실패할 것임.
테스트 통과시키기
class StringLengthCalculator {
public int calculateLength(String input) {
return input.length();
}
}
- 컴파일 에러를 해결하고, 본 코드를 만들어서 테스트를 통과시킴.
리팩터링
import static org.junit.jupiter.api.Assertions.assertEquals;
import org.junit.jupiter.api.Test;
class StringLengthCalculatorTest {
@Test
void testCalculateLength() {
StringLengthCalculator calculator = new StringLengthCalculator();
assertEquals(5, calculator.calculateLength("hello"));
}
}
- 테스트 코드를 리팩터링함.
728x90
반응형
'TDD' 카테고리의 다른 글
동시성 테스트 (1) | 2024.09.16 |
---|---|
Test Smell 처리 방법 (0) | 2024.09.09 |
Mock과 Stub의 차이 (0) | 2024.09.09 |
좋은 테스트의 요건 - RIGHT BICEP (0) | 2024.08.31 |
좋은 테스트의 요건 - FIRST (0) | 2024.08.31 |