ANT编译时执行Junit测试

1.Junit.jar(和jakarta-ant-optional.jar 不是必须) 放在ant_home/lib中,用于支持build.xml中的<junit>标签java


2.修改build.xml,在任意两个target之间添加一个新的target, 配置name和depends属性,name属性是必须的,depends是依赖的另外一个target(以下,依赖compileBase,copyProperties分别是编译.java文件和copy配置文件的garget).测试


3.在新的target中添加<junit>标签,添加测试任务,在<junit>标签中添加<classpath>标签,配置.class文件的目录和依赖.jar文件的目录(将junit和mockito的jar指  导classpath中)ui


4.添加<batchtest>标签(<test>标签执行单个测试用例),定义多个测试文件,指定<include>标签的name属性为“**/*Test.class”(测试类在建立时依据命名规范,以Test.class结尾)spa

<test name="com.glen.he.SimpleCalculationTest"/>orm

5.在<batchtest>标签内部添加<formatter>标签,将测试结果生成指定文件的测试结果xml

brief:以文本格式提供测试失败的详细内容;
plain:以文本格式提供测试失败的详细内容以及每一个测试的运行统计;
xml:以xml格式提供扩展的详细内容,包括正在测试时的Ant特性,系统输出,以及每一个测试用例的系统错误.ci

6.<junitreport>导出测试结果到一个.xml文件中生成HTML页面(若是<formatter>标签不在<batchtest>标签内部,生成的xml文件为空,并致使HTML页面打开没有数据,HTML页面的数据,依赖于xml文件)element


7.<delete>删除测试结果get


8.在build.xml文件中找一个合适的target在depends中添加测试的target的name值,用“,”分隔(英文逗号)。所选的target必须在编译.java文件的target执行以后执行的target。it

 

<target name="test" depends="compileBase,copyProperties">

         <property name="testReport" value="./deployment/testReport"/>

         <delete dir="${testReport}" />

         <mkdir dir="${testReport}" />

              <!—执行测试-->

         <junit>

                   <classpath>

                                         <fileset dir="./lib/">

                                     <include name="**/*.jar"/>

                             </fileset>

                                       <pathelement location="${base.classesdir}/${classes}"/>

                   </classpath>

                  

                   <batchtest todir="${testReport}">

                                           <formatter type="xml" usefile="true"/>

                            <fileset dir="${base.classesdir}/${classes}">

                                     <include name="**/*Test.class"/>

                            </fileset>

                   </batchtest>

         </junit>

               <!—导出测试报告-->

         <junitreport todir="${testReport}">

                   <fileset dir="${testReport}">

                            <include name="Test-*.xml" />

                   </fileset>

                  <report format="frames" todir="${testReport}"/>

         </junitreport>

         <!--删除xml的测试结果

         <delete dir="${testReport}">

                   <include name="*.xml" />

         </delete> -->

</target>

 

 

注:若是配置没有出错,可是生成HTML页面出错,能够查看一下xalan支持状况。

 

Xalan ,将测试结果导出到HTML统计页面,因为xalan对jdk1.4上支持问题,须要在java_home/jre/lib/endorsed中添加xalan的所有jar包(个人jdk版本是1.5.0_14,不须要导入额外的xalan包)