Run TestSuite

개요

작성된 TestSuite 클래스나, TestCase 들을 Ant나 Maven 같은 빌드도구를 사용하여 자동으로 수행할 수 있는 방법에 대해 설명한다.
테스트 결과 리포트가 생성되는데, 이는 Test Reporting에서 자세하게 설명하도록 한다.

설명

개발자가 단위테스트 클래스인 TestCase를 작성하고 나면, 개별적으로 테스트를 수행하여 결과를 볼 수 있다.
그러나, 일단 코드로 작성된 TestCase들은 빌드도구를 사용하여 자동화된 테스트를 수행할 수 있다.
빌드도구는 Ant와 Maven을 사용할 수 있으며, 이클립스에서는 각각 Ant와 Maven의 Plug-in을 사용하여 GUI 환경에서 테스트할 수 있고, CI 서버에 등록하면 동일한 프로세스를 서버단에서 수행한 뒤 CI 서버에서 리포트를 merge할 수 있도록 XML 파일을 제공할 수 있다.

Ant와 Maven 모두 다음과 같은 프로세스로 수행하면 된다.

  1. 테스트하기 위한 스크립트 작성 (Ant - build.xml, Maven - pom.xml)
  2. 이클립스 Plug-in을 이용하여 개발자 환경에서 테스트 수행
  3. 테스트 결과 XML 리포트 확인1)
  4. CI 서버에 등록하고, 테스트를 수행하도록 설정 후, CI 서버에 병합된 리포트 확인

✔ 여기에서는 CI 서버에 등록하고 확인하는 방법에 대해서는 설명하지 않도록 한다.

환경설정

사용법

Maven을 사용한 테스트 자동화

Maven을 사용하여 개인빌드를 하는 경우, 다음과 같이 테스트를 자동화할 수 있다.

  1. pom.xml 작성 : Test Automation을 위한 pom.xml 설정 샘플 : test와 같이 작성한다.
  2. m2eclipse로 테스트 수행 : Run As > Maven test 선택하여 실행한 뒤, Console View에서 BUILD SUCCESSFUL을 확인한다.


  3. XML 리포트 확인 : <reportFormat>xml</reportFormat> 항목에 xml, txt를 명시할 수 있으며, TEST-{TestcaseFullName}.xml 식의 파일이 생성된다.


Ant를 사용한 테스트 자동화

Ant를 사용하여 개인빌드를 하는 경우, 다음과 같이 테스트를 자동화할 수 있다.

  1. build.xml 작성 : Test Automation을 위한 build.xml 설정 샘플 : junit과 같이 작성한다.
  2. 이클립스에서 테스트 수행
    1. Console View에서 실행 결과를 확인한다.


  3. XML 리포트 확인 : junit task에서 <formatter type=“xml”/> 항목에 xml, txt, brief를 설정할 수 있으며, 위의 예에서는 build/junit-reports 디렉토리 밑에 TEST-{TestcaseFullName}.xml 식의 파일이 생성된다.



샘플

Maven과 Ant의 Script의 작성 예는 다음과 같다.

Test Automation을 위한 pom.xml 설정 샘플 : test

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>

Test Automation을 위한 build.xml 설정 샘플 : junit

<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>

참고자료

1) 각 빌드도구를 사용하여 테스트를 수행 결과 XML 파일이 생성된다. 빌드 결과의 Raw Data는 txt, xml 파일로 저장되며, 파일이 생성될 디렉토리는 설정할 수 있으나, Maven의 경우 디폴트로 target/surefire-report 라는 디렉토리 밑에 테스트 결과 파일들이 생성된다.
 
egovframework/dev2/tst/run_testsuite.txt · 마지막 수정: 2015/04/14 11:24 (외부 편집기)
 
이 위키의 내용은 다음의 라이센스에 따릅니다 :CC Attribution-Noncommercial-Share Alike 3.0 Unported
전자정부 표준프레임워크 라이센스(바로가기)

전자정부 표준프레임워크 활용의 안정성 보장을 위해 위험성을 지속적으로 모니터링하고 있으나, 오픈소스의 특성상 문제가 발생할 수 있습니다.
전자정부 표준프레임워크는 Apache 2.0 라이선스를 따르고 있는 오픈소스 프로그램입니다. Apache 2.0 라이선스에 따라 표준프레임워크를 활용하여 발생된 업무중단, 컴퓨터 고장 또는 오동작으로 인한 손해 등에 대해서 책임이 없습니다.
Recent changes RSS feed CC Attribution-Noncommercial-Share Alike 3.0 Unported Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki