[java] JUnit에서 테스트 코드 커버리지 측정하기

JUnit은 Java 언어를 위한 유닛 테스팅 프레임워크로, 소스 코드의 정확성을 검증하고 개발 프로세스를 안정화하는 데 도움을 줍니다. JUnit을 사용하면 개발한 코드를 테스트하여 오류를 발견하고 수정할 수 있습니다.

이때, 테스트 코드의 커버리지(coverage)는 테스트가 소스 코드의 얼마나 많은 부분을 검증하는지를 나타냅니다. 즉, 전체 소스 코드 중 몇 퍼센트를 테스트하는지를 나타내며, 높은 커버리지는 안정적인 소프트웨어의 핵심 요건 중 하나입니다.

JUnit으로 테스트 코드 작성하기

먼저, JUnit을 사용하여 테스트 코드를 작성해야 합니다. 예를 들어, 다음은 간단한 Calculator 클래스의 간단한 add 메서드를 테스트하는 코드입니다.

import static org.junit.jupiter.api.Assertions.assertEquals;
import org.junit.jupiter.api.Test;

public class CalculatorTest {
    
    @Test
    public void testAdd() {
        Calculator calculator = new Calculator();
        int result = calculator.add(3, 5);
        assertEquals(8, result);
    }
}

위의 코드에서 Calculator 클래스의 add 메서드를 테스트하는 코드를 작성했습니다.

테스트 코드 커버리지 측정하기

테스트 코드 작성이 완료되면, 커버리지 도구(coverage tool)를 사용하여 테스트 코드가 소스 코드의 얼마나 많은 부분을 커버하는지를 측정할 수 있습니다. 대표적인 커버리지 도구로는 Jacoco, Cobertura 등이 있습니다.

보통, 커버리지 도구는 테스트를 실행한 후에 보고서를 생성하고, 어떤 부분이 테스트되지 않았는지 시각적으로 보여줍니다. 이를 통해 개발자는 테스트 코드 커버리지를 더욱 쉽게 파악할 수 있습니다.

마무리

JUnit을 사용하여 테스트 코드를 작성하고, 커버리지 도구를 활용하여 테스트 코드 커버리지를 측정함으로써 안정적이고 신뢰성 있는 소프트웨어를 개발할 수 있습니다.

테스트 코드 커버리지는 높을수록 소프트웨어의 안정성을 높여주며, 테스트 코드 작성 및 커버리지 측정은 개발 단계에서 필수적이므로, 개발자들은 이러한 작업에 충분한 시간과 노력을 투자해야 합니다.

참고 자료