Ant 프로젝트 설정 및 테스트 사례 관리

6032 단어 ant
1. ant 공구 꾸러미 다운로드 (http://www.fayea.com/apache-mirror//ant/binaries/apache-ant-1.9.0-bin.zip)
 
2. ant 환경 변수 설정 (ant 저장 경로)
ANT_HOME::C:\Program Files\Java\apache-ant-1.9.0
PATH:%ANT_HOME%/bin
 
3. 설치 성공 여부 보기: dos 창 에 명령 ant 를 입력 하고 결과 가 나 오 면
Buildfile: build.xml does not exist!
Build failed
ant 설치 가 성공 했다 는 것 을 설명 합 니 다. ant 는 기본적으로 build. xml 를 실행 하기 때문에 이것 은 우리 가 직접 만들어 야 합 니 다.
 
4. 프로젝트 에 build. xml 파일 을 새로 만 듭 니 다.
 
<project basedir="." default="default" name="automation test">
	<!--     -->
	<property name="base.dir" value="." />
	<!--        -->
	<property name="testng.output.dir" value="${base.dir}/test-output" />
	<!--     -->
	<property name="lib.dir" value="${base.dir}/lib" />
	<!--class      -->
	<property name="classes.dir" value="classes" />
	<property name="src.dir" value="src" />
	<property name="run.test.classes.dir" value="${base.dir}/bin/com/zzt/test" />
	<property name="testng.threadcount" value="1"/>

	<!--  -->
	<target name="clean">
		<delete dir="${base.dir}/bin" />
	</target>

	<!--       jar -->
	<path id="classes">
		<fileset dir="${lib.dir}" includes="*jar" />
		<fileset dir="${lib.dir}" includes="*zip" />
		<pathelement location="${base.dir}/bin" />
	</path>

	<!--copy      xml properties  -->
	<target name="compile" depends="clean">
		<mkdir dir="${base.dir}/bin" />
		<javac srcdir="${base.dir}/src" destdir="${base.dir}/bin" classpathref="classes" includeantruntime="off" debug="on" debuglevel="lines,vars,source" />
		<!--        bin   -->
		<copy todir="${base.dir}/bin">
			<fileset dir="${src.dir}">
				<include name="**/*.xml" />
				<include name="**/*.properties" />
			</fileset>
			<fileset dir="${base.dir}">
				<include name="**/*.xml" />
				<include name="**/*.properties" />
			</fileset>
		</copy>
	</target>


	<!--     ,       case testNG,    -->
	<taskdef resource="testngtasks" classpath="${lib.dir}/testng-6.2.jar" />
	<!--   TestNG    xml  ,      -->
	<property name="testng.file" value="testNG.xml" />
	<!--          -->
	<target name="default" depends="compile">
		<testng outputdir="${testng.output.dir}" classpathref="classes" delegateCommandSystemProperties="true">
			<xmlfileset dir="${base.dir}" includes="${testng.file}" />
		</testng>
	</target>

	<!--       ,     case,eg. ant test-single -Dtest.class=TestNG-->
	<target name="test-single"
	            description="Compile tests and Run a single test specified by -Dtest.class"
	            depends="compile">
		<condition property="test.class" value="${env.TEST_CLASS}">
			<isset property="env.TEST_CLASS"/>
		</condition>
        <condition property="run.test" value="**/${test.class}.class">
            <isset property="test.class"/>
        </condition>
   		<testng outputdir="${testng.output.dir}" classpathref="classes" delegateCommandSystemProperties="true">
			<classfileset dir="${base.dir}" includes="${run.test}" />
		</testng>
	</target>

	<!--   ,eg. ant test-all -Dtestng.threadcount=4-->
	<target name="test-all" description="run all tests with multi-thread" depends="compile">
		<testng classpathref="classes" suiteThreadPoolSize="${testng.threadcount}" parallel="classes" threadCount="${testng.threadcount}">
			<classfileset dir="${base.dir}" includes="**/*Tests.class" />
		</testng>
	</target>
</project>

 
대응 testng. xml:
 
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="Suite" parallel="false">
	<test name="Test" preserve-order="true">
		<!--     ,     TestNG     Test1        -->
<!-- 		<groups> -->
<!-- 			<run> -->
<!-- 				<include name="Test2"></include> -->
<!-- 			</run> -->
<!-- 		</groups> -->
		<classes>
<!-- 			<class name="com.zzt.test.AntTestNG1Tests" /> -->
			<class name="com.zzt.test.AntTestNG2Tests" />
		</classes>

		<!--            -->
<!-- 		<classes> -->
<!-- 			<class name="com.zzt.test.AntTestNGTest"> -->
<!-- 				<methods> -->
<!-- 					<include name="testMethod1"></include> -->
<!-- 				</methods> -->
<!-- 			</class> -->
<!-- 		</classes> -->

	</test>
</suite>

 
 
첨부 AntTestNG_Test. zip 는 이 프로젝트 의 원본 코드 (testng - 6.2. jar 포함)

좋은 웹페이지 즐겨찾기