728x90
TDD
@2024.03.18
테스트 주도 개발(Test-Driven Development)
💡
소프트웨어 개발 프로세스에서 테스트가 개발을 주도하는 방법론
핵심
: 코드를 작성하기 전에 먼저 테스트 코드를 작성하고, 그다음에 실제 코드를 작성하는 것
- 소프트웨어의 동작을 검증하는 자동화된 테스트를 가지게 된다.
- 코드의 신뢰성과 유지 보수성을 향상시킨다.
1. Gradle 프로젝트 설정
💡
Gradle은 Java 프로젝트의 빌드 및 의존성 관리를 위한 강력한 빌드 도구
- 새 프로젝트를 만들거나, 기존 프로젝트를 만들 때
Gradle을 선택
하여, 프로젝트를 생성
- 프로젝트 디렉터리에 있는 build.gradle 파일에서 종속성 및 테스트 설정 등을 구성
java디렉터리
: 개발자가 개발한 코드
test디렉터리
: 개발한 코드에 대한 테스트 코드
2. 테스트 케이스 작성
JUnit
: 단위 테스트를 작성하고 실행하기 위한 테스팅 프레임워크
- 테스트할 메서드 별로
@Test
를 붙인 후 해당 메서드에 테스트할 기능을 구현- 반환 타입은 void
- 매개변수 x
- 예시
import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.assertEquals; public class CalculatorTest { @Test public void testAddition() { // testAddition()메서드를 테스트 Calculator calculator = new Calculator(); int result = calculator.add(2, 3); assertEquals(5, result); // 2 + 3 = 5 가 되는지 확인 //assertEquals(예상 값, 실제 값) } }
3. TDD 사이클
사이클을 반복하며 개발하며, 이는 코드의 품질을 높이고 버그를 줄인다.
실패하는 테스트 작성
: 아직 구현되지 않는 기능에 대한 테스트 작성 ← 당연히 실패
테스트를 통과하기 위한 코드 작성
: 테스트를 통과하기 위한 최소한의 코드 작성
리팩토링
: 코드를 개선하고 중복을 제거 → 모든 테스트가 통과해야 한다.
728x90
'JAVA' 카테고리의 다른 글
Scanner 클래스 (0) | 2024.03.31 |
---|---|
정적 변수 vs 인스턴스 변수 (0) | 2024.03.31 |
배열 (1) | 2024.03.31 |
Label (0) | 2024.03.31 |
조건문/반복문 (0) | 2024.03.31 |