Ant1.7+Junit4.3 (4.0)

 Ant工程执行测试后的目录结构如下:

Ant1.7+Junit4.3 (4.0)
 

 构建文件(build.xml),有中文可能会报错

<?xml version="1.0"?>
<project name="secondbuild" default="compile">
   
   <!--test class name-->
   <property name="test.suite" value="org.antbook.service.StudentServiceTest" />
   <property environment="env" /> 
   <echo>test=${env.JAVA_HOME}</echo>
   
   <target name="init">
      <mkdir dir="build/classes" />
	  <mkdir dir="build/test/classes" />
	  <mkdir dir="dist" />
	  <mkdir dir="build/test/data" />
	  <mkdir dir="build/test/report" />
   </target>
   
   <target name="clean" >
      <delete dir="build" />
	  <delete dir="dist" />
   </target>
   

   <target name="compile" depends="init">
      <javac srcdir="src" destdir="build/classes" />
   </target>
   
   <!--test compile:需要build/classes目录中的class文件,因为测试代码使用的源码-->
   <target name="test-compile" depends="init,compile">
      <javac destdir="build/test/classes">
		  <src path="test" />
		  <classpath refid="test.compile.classpath" /><!--使用了build/classes中的class-->
	  </javac>
   </target> 
   
   <!--junit test-->
   <target name="junit" depends="test-compile" >
      <junit>
	     <classpath refid="test.run.classpath" />
		 <test name="${test.suite}" />
		 <test name="org.antbook.service.EventServiceTest" />
	  </junit>
   </target>
   
   
   <!--batch junit test, report-->
   <target name="batch-junit-test" depends="test-compile" >
      <!--测试失败后并不会直接跳到<fail>任务,<target>中的任务是顺序执行的-->
      <junit printsummary="yes" 
	         haltonfailure="false"
			 errorProperty="test.failed" 
			 failureProperty="test.failed"> 
	     <classpath refid="test.run.classpath" />
		 <formatter type="xml" /> <!--格式化格式化器-->
		 <batchtest fork="yes" todir="build/test/data"><!--生成的xml测试报告存放的位置-->
		    <fileset dir="build/test/classes"
			   includes="**/*Test.class" />
		 </batchtest> 
	  </junit>
	  <!--应该放到<fail>任务之前,这样才会根据xml产生html文档-->
	 <junitreport todir="build/test/data"> <!--将TESTS-TestSuites.xml文件存放于该目录-->
		 <fileset dir="build/test/data"> <!--根据这些xml文件生成TESTS-TestSuites.xml(固定),打开TESTS-TestSuites.xml文件可以看见该文件包含了这些xml中的信息-->
				<include name="TEST-*.xml"/> 
		 </fileset> 
		 <report format="frames" todir="build/test/report" /> <!--Ant会根据TESTS-TestSuites.xml(固定)生成html测试报告-->
         </junitreport> 
	  <!--如果名为test.failed的特征存在,则输出异常信息-->
	  <fail if="test.failed">
	      Test failed.........................
	  </fail>
	  <!--如果<fail>任务后面有任务 都不会被执行,但是在<fail>任务前面的任务还会被继续执行-->
	  <echo>test print....</echo>
   </target>
   

   <!--compile classpath-->
   <path id="compile.classpath" >
      <fileset dir="lib">
	     <include name="*.jar" />
	  </fileset>
   </path>
   <!--run classpath-->
   <path id="run.classpath">
      <path refid="compile.classpath" />
	  <pathelement path="build/classes" />
   </path>
   <!--test compile classpath-->
   <path id="test.compile.classpath">
      <path refid="compile.classpath" />
	  <pathelement path="build/classes" />
   </path>
   <!--test run classpath-->
   <path id="test.run.classpath">
      <path refid="test.compile.classpath" />
	  <pathelement path="build/test/classes" />
   </path>

</project>

 

你可能感兴趣的:(JUnit4)