Java

TDD(테스트 주도 개발)

h_jinnny 2024. 3. 18. 21:33

소프트웨어 개발 프로세스에서 테스트가 개발을 주도하는 방법론

 

1. 프로젝트 설정

 - Gradle 설정

Gradle은 Java 프로젝트의 빌드 및 의존성 관리를 위한 강력한 도구

Build system을 Gradle로 설정하고 새로운 프로젝트를 생성한다.

위와 같은 프로젝트가 생성될 것이다.

 

dependencies {
    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.1'
    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.8.1'
}

build.gradle을 보면 기본적으로 dependendies에 junit이 추가되어있는 것을 볼 수 있다.

 

2. 테스트 게이스 작성

TDD의 핵심은 개발 시작 전에 테스트 케이스를 먼저 작성하는 것이다.

 

test/java/com/example에 CalculatorTest 클래스를 생성하고 아래와 같은 코드를 작성한다

import org.junit.jupiter.api.*;

public class CalculatorTest {
    Calculator cal = null;

    @Test
    void plus() {
		    System.out.println("plus 테스트 실행");
        Calculator cal = new Calculator();
        Assertions.assertEquals(5,cal.plus(2, 3));
    }

    @Test
    void minus() {
        System.out.println("minus 테스트 실행");
        Calculator cal = new Calculator();
        Assertions.assertEquals(5, cal.minus(10, 5));
    }
}

 

3. 구현 코드 작성

main/java/com/example에 Calculator 클래스를 생성하고 아래와 같은 코드를 작성한다.

public class Calculator {

    public int plus(int val1, int val2) {
        int result = val1 + val2;
        return result;
    }

    public int minus(int val1, int val2) {
        int result = val1 - val2;
        return result;
    }
}

 

4. 컴파일

CalculatorTest 클래스를 컴파일 해본다.