转: ant集成junit自动测试的build.xml标准模板

好东东,找时间一定要试试

利用Ant集成Junit自动测试并生成测试报告,可以极大的提高测试的工作效率,其优势只要是测试用例的批量处理功能。前不久在网上看到很多关于Junit测试的文章,欣闻Ant支持Junit的集成,迫不及待的尝试了一番。

1.         ant的配置:

本案例采用apache-ant-1.6.5版本,下载ant后需要将Junit3.8.1拷贝到ANT_HOMElib目录下。Ant在执行过程TestCase过程中除了需要在classpath中可见,还需要在ant中可见,否则会报错。

2.         目录结构:

工作目录

|src|com|wallace|Calculator.java

                            |test|TestCalculator.java

|lib|junit.jar

|build

|report

3.         build.xml模板:

<?xml version="1.0" encoding="utf-8"?>

<project name="test" default="test" basedir=".">

 

       <!--配置基本属性-->

       <property name="src" value="src"/>

       <property name="build" value="build"/>

       <property name="lib" value="lib" />

       <property name="dist" value="dist"/>

       <property name="classpath" location="${build}"/>

      

       <!--配置测试报告的属性-->

       <property name="report"   value="report"/>

       <property name="report.xml"  value="${report}/junit/xml"/>

       <property name="report.html" value="${report}/junit/html"/>

 

       <!--配置运行时classpath-->

       <path id="classpath.run">

              <pathelement path="${classpath}"/>

              <fileset dir="${lib}">

                     <include name="*.jar"/>

              </fileset>

       </path>

 

  <!--配置测试时classpath-->

       <path id="classpath.test">

              <path refid="classpath.run"/>

              <path location="${dist}/lib/test-${DSTAMP}.jar"/>

       </path>

      

       <!--任务初始化-->

       <target name="init" >

              <tstamp/>

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

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

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

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

       </target>

      

       <!--配置编译任务-->

       <target name="compile" depends="init">

              <javac srcdir="${src}" destdir="${build}">

              <classpath refid="classpath.run" />

              </javac>

       </target>

      

       <!--配置打包任务-->

       <target name="dist" depends="compile">

              <mkdir dir="${dist}/lib"/>

              <jar jarfile="${dist}/lib/test-${DSTAMP}.jar" basedir="${build}"/>

       </target>

      

       <!--配置运行任务-->

       <target name="run" depends="compile, dist">

         <java classname="com.test.TestCalculator">

             <classpath>

                     <path refid="classpath.run"/>

              </classpath>

         </java>

       </target>

      

       <!--配置JUnit测试,打印测试结果-->

       <target name="test" depends="compile, dist">

              <mkdir dir="${report.xml}"/>

              <mkdir dir="${report.html}"/>

              <junit printsummary="yes" haltonfailure="no">

                     <classpath refid="classpath.run"/>

                     <formatter type="xml"/>

                     <batchtest fork="yes" todir="${report.xml}">

                            <fileset dir="${src}" includes="**/Test*.java"/>

                     </batchtest>

              </junit>

              <junitreport todir="${report.html}">

                     <fileset dir="${report.xml}">

                            <include name="*.xml"/>

                     </fileset>

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

              </junitreport>

       </target>

 

</project>

 

http://blog.csdn.net/wallacer/article/details/982130


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
java.lang.ExceptionInInitializerError at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:422) at org.junit.runners.BlockJUnit4ClassRunner.createTest(BlockJUnit4ClassRunner.java:195) at org.junit.runners.BlockJUnit4ClassRunner$1.runReflectiveCall(BlockJUnit4ClassRunner.java:244) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.BlockJUnit4ClassRunner.methodBlock(BlockJUnit4ClassRunner.java:241) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) at org.junit.runners.ParentRunner.run(ParentRunner.java:309) at org.junit.runner.JUnitCore.run(JUnitCore.java:160) at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69) at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38) at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11) at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35) at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:235) at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54) Caused by: org.apache.ibatis.exceptions.PersistenceException: ### Error building SqlSession. ### The error may exist in mappers/categoryMapper.xml ### Cause: org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause: java.io.IOException: Could not find resource mappers/categoryMapper.xml at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) at org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:82) at org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:66) at Test.<clinit>(Test.java:19) ... 23 more Caused by: org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause: java.io.IOException: Could not find resource mappers/categoryMapper.xml at org.apache.ibatis.builder.xml.XMLConfigBuilder.parseConfiguration(XMLConfigBuilder.java:115) at org.apache.ibatis.builder.xml.XMLConfigBuilder.parse(XMLConfigBuilder.java:95) at org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:80) ... 25 more Caused by: java.io.IOException: Could not find resource mappers/categoryMapper.xml at org.apache.ibatis.io.Resources.getResourceAsStream(Resources.java:114) at org.apache.ibatis.io.Resources.getResourceAsStream(Resources.java:100) at org.apache.ibatis.builder.xml.XMLConfigBuilder.mapperElement(XMLConfigBuilder.java:338) at org.apache.ibatis.builder.xml.XMLConfigBuilder.parseConfiguration(XMLConfigBuilder.java:113) ... 27 more
最新发布
07-13

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值