목차

Unit Test

개요

개발한 대상 코드에 대해 테스트하고자 개발자가 작성한 테스트를 위한 코드로서의 Unit Test 에 대해 가이드한다.

설명

Unit Test란 대상 코드에 대해 테스트하고자 개발자가 작성한 코드로서, 주로 특정 메소드를 실행해서 그 결과가 기대값과 일치하는지 확인하는 형태이며, Unit Test는 서로 독립적으로 수행되어야 한다.

제공하는 테스트 도구는 Unit Test, Mock, DB Test Framework을 통해 TestCase 작성을 지원하고, Test Automation, Test Coverage, Test Reporting 등의 기능을 제공한다.

TestCase 작성

Test 수행

Test Reporting

사용 된 오픈 소스

이름 버전 설명
JUnit 4.4, 4.3 단위 테스트 클래스 작성과 실행을 위한 기본적인 기능을 제공
EasyMock 2.4 단위 테스트 클래스 작성 시 Mocking 을 위해 사용
DbUnit 2.4.2 데이터베이스 관련 Test Fixture 자동 생성 등의 DB Support 를 위해 사용
EMMA 2.0 Test Coverage 분석
Spring Test 2.5.6 Springframework 의 Test 관련 기능 활용
Unitils 2.2 JUnit, EasyMock, DbUnit, Spring Test, Ibatis, Hibernate 등을 유연한 구조로 엮어서 테스트할 수 있는 기반 구조 및 유틸을 제공
Ant 1.6.5 이상 Java-based build tool
Maven 2.0 프로젝트 관리 도구
EclEmma 1.3.2 EMMA Eclipse Plug-in

환경설정

Maven Project 인 경우에는 아래와 같은 dependency 를 설정하면 된다.

        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.4</version>
            <scope>test</scope>
        </dependency>
 
        <dependency>
            <groupId>org.easymock</groupId>
            <artifactId>easymock</artifactId>
            <version>2.4</version>
            <scope>test</scope>
        </dependency>
 
        <dependency>
            <groupId>org.easymock</groupId>
            <artifactId>easymockclassextension</artifactId>
            <version>2.4</version>
            <scope>test</scope>
        </dependency>
 
        <dependency>
            <groupId>org.dbunit</groupId>
            <artifactId>dbunit</artifactId>
            <version>2.4.3</version>
            <scope>test</scope>
        </dependency>
 
        <dependency>
            <groupId>org.unitils</groupId>
            <artifactId>unitils</artifactId>
            <version>2.2</version>
            <scope>test</scope>
        </dependency>

✔ 주의: Springframework 2.5 에서는 JUnit 4.5 버전이 동작하지 않으므로, JUnit 4.4 버전을 사용하도록한다.
✔ 주의: Test Automation / Test Reporting / Test Coverage 분석 관련하여서는 Test Automation, Test Reporting, Test Coverage 를 참조하도록 한다.
✔ 필요할 경우 Maven > Update project configuration 를 수행하여 반영할 수 있다.

사용법

Unit Test Case 는 다음과 같은 구조로 이루어져 있다.

이를 직접 작성하면 된다.

기본적인 JUnit 기술은 Test Case 을 참조하도록 하며, 필요할 경우 나아가 Mock Support, DB Support 또한 함께 살펴보도록 한다.

샘플

참고자료