작성된 TestSuite 클래스나, TestCase 들을 Ant나 Maven 같은 빌드도구를 사용하여 자동으로 수행할 수 있는 방법에 대해 설명한다.
테스트 결과 리포트가 생성되는데, 이는 Test Reporting에서 자세하게 설명하도록 한다.
개발자가 단위테스트 클래스인 TestCase를 작성하고 나면, 개별적으로 테스트를 수행하여 결과를 볼 수 있다.
그러나, 일단 코드로 작성된 TestCase들은 빌드도구를 사용하여 자동화된 테스트를 수행할 수 있다.
빌드도구는 Ant와 Maven을 사용할 수 있으며, 이클립스에서는 각각 Ant와 Maven의 Plug-in을 사용하여 GUI 환경에서 테스트할 수 있고, CI 서버에 등록하면 동일한 프로세스를 서버단에서 수행한 뒤 CI 서버에서 리포트를 merge할 수 있도록 XML 파일을 제공할 수 있다.
Ant와 Maven 모두 다음과 같은 프로세스로 수행하면 된다.
✔ 여기에서는 CI 서버에 등록하고 확인하는 방법에 대해서는 설명하지 않도록 한다.
Maven을 사용하여 개인빌드를 하는 경우, 다음과 같이 테스트를 자동화할 수 있다.
Ant를 사용하여 개인빌드를 하는 경우, 다음과 같이 테스트를 자동화할 수 있다.
Maven과 Ant의 Script의 작성 예는 다음과 같다.
test 수행을 위한 pom.xml 설정 샘플은 다음과 같다.
<build> <!-- 테스트를 수행하려면 goal이 'test'이다. --> <plugins> <!-- test --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <skipTests>false</skipTests> <forkMode>always</forkMode> <reportFormat>xml</reportFormat> <excludes> <exclude>**/Abstract*.java</exclude> </excludes> <includes> <include>**/*Test.java</include> </includes> </configuration> </plugin> </plugins> </build>
<property name="testreports.dir" value="build/junit-reports" /> . . . 중략 . . . <junit forkmode="perBatch" printsummary="true" haltonfailure="yes" haltonerror="yes"> <classpath refid="master-classpath" /> <classpath refid="test-classpath" /> <classpath path="${testbuild.dir}" /> <formatter type="xml" /> <batchtest fork="yes" todir="${testreports.dir}"> <fileset dir="${testbuild.dir}"> <include name="**/*Test.class" /> <exclude name="**/Abstract*Test.class" /> </fileset> </batchtest> </junit>