[java] JUnit으로 자바 애플리케이션 테스트하기

JUnit은 자바 애플리케이션의 단위 테스트를 위해 사용되는 테스팅 프레임워크입니다. 이를 통해 코드의 일부분을 격리하여 테스트하고, 예상된 결과와 실제 결과를 비교하여 애플리케이션의 동작을 검증할 수 있습니다.

JUnit 설치 및 설정

  1. JUnit은 Maven, Gradle 등의 의존성 관리 도구를 통해 쉽게 설치할 수 있습니다. pom.xml (Maven) 또는 build.gradle (Gradle) 파일에 다음 의존성을 추가합니다:

    <!-- Maven -->
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.13.1</version>
        <scope>test</scope>
    </dependency>
    
    // Gradle
    testImplementation 'junit:junit:4.13.1'
    
  2. 프로젝트의 테스트 소스 코드를 작성할 디렉토리를 생성합니다. 일반적으로 src/test/java 디렉토리를 사용합니다.

단위 테스트 작성

  1. 테스트 클래스를 작성합니다. JUnit은 @Test 어노테이션으로 테스트 메소드를 식별합니다. 테스트 클래스는 보통 FooTest와 같이 테스트하려는 클래스 이름 뒤에 “Test”를 붙여서 작성합니다.

    import org.junit.Test;
    import static org.junit.Assert.*;
    
    public class FooTest {
       
        @Test
        public void testSomeMethod() {
            // 테스트할 코드 작성
        }
    }
    

    @Test 어노테이션은 해당 메소드가 테스트 메소드임을 나타냅니다.

  2. 작성한 테스트 메소드에서는 테스트할 코드를 호출하고, 기대하는 결과와 실제 결과를 비교합니다. assertEquals, assertTrue, assertFalse 등을 사용하여 비교합니다.

    @Test
    public void testSomeMethod() {
        // 테스트할 코드 호출
        int result = SomeClass.someMethod();
           
        // 기대하는 결과와 비교
        assertEquals(10, result);
    }
    

테스트 실행

  1. 테스트 클래스를 실행하기 위해 IDE 상에서 클래스 이름을 우클릭하고 “Run as” -> “JUnit Test”를 선택합니다.

  2. 또는 Maven 또는 Gradle을 사용하여 테스트를 실행할 수 있습니다. 콘솔에서 다음 명령어를 실행합니다:

    # Maven
    mvn test
    
    # Gradle
    gradle test
    

테스트가 성공하면 “Tests passed”와 같은 메시지가 출력됩니다. 실패한 테스트는 stacktrace와 함께 자세한 정보가 출력됩니다. 불필요한 테스트는 빠르게 수정할 수 있습니다.

JUnit은 자바 애플리케이션의 품질을 향상시키는 강력한 도구입니다. 적절한 단위 테스트를 작성하여 버그를 찾고 예상치 못한 동작에 대비할 수 있습니다.

참고자료