`

Ant应用

阅读更多
官方网站手册:http://ant.apache.org/manual/index.html

一、ant中使用junit 
两种方法来执行测试:

一是使用源路径

  <batchtest fork="yes" todir="${reports.tests}">    <fileset dir="${src.tests}">      <include name="**/*Test*.java"/>      <exclude name="**/AllTests.java"/>    </fileset>  </batchtest></junit> 
二是使用编译路径

    <batchtest>       <fileset dir="${build.dir}">           <include name="**/*Test.*" />           <exclude name="**/Jdbc*Test.*" />       </fileset>    </batchtest> 
Ant自学教程的部分代码:

    <property name="report.dir"  value="${build.dir}/junitreport"/>    ...    <target name="junit" depends="jar">        <mkdir dir="${report.dir}"/>        <junit printsummary="yes">            <classpath>                <path refid="classpath"/>                <path refid="application"/>            </classpath>                        <formatter type="xml"/>                        <batchtest fork="yes" todir="${report.dir}">                <fileset dir="${src.dir}" includes="*Test.java"/>            </batchtest>        </junit>    </target>        <target name="junitreport">        <junitreport todir="${report.dir}">            <fileset dir="${report.dir}" includes="TEST-*.xml"/>            <report todir="${report.dir}"/>        </junitreport>    </target> 
示例一

    <target name="tests" depends="build, buildtests" description="Run tests">       <junit printsummary="on" fork="false" haltonfailure="false" failureproperty="tests.failed" showoutput="true">           <!--classpath refid="master-classpath" / -->           <classpath refid="test-classpath" />           <formatter type="brief" usefile="false" />           <batchtest>              <fileset dir="${build.dir}">                  <include name="**/*Tests.*" />                  <exclude name="**/Jdbc*Tests.*" />              </fileset>           </batchtest>       </junit>       <fail if="tests.failed">            tests.failed=${tests.failed}            ****  One or more tests failed!  Check the output ...  ****        </fail>
    </target>

  
示例二

       <target name="test-unit" depends="build-unit" description="--> Run all unit tests">

              <echo message="Test output can be found in directory ${dist.unitreport.dir}"/>

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

              <mkdir dir="${dist.unitreport.dir}"/>

 
              <echo message="executing tests [${test.match}.java]"/>

 
              <junit printsummary="${junit.printsunmmary}" showoutput="${junit.showoutput}"

                     fork="${junit.fork}" forkmode="${junit.forkmode}" failureproperty="${junit.failureproperty}">

                     <formatter type="plain" usefile="false"/> <!-- just to console -->

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

 
                     <classpath refid="compile.classpath.unit"/>

 
                     <batchtest todir="${dist.unitreport.dir}">

                            <fileset dir="${build.unit.dir}">

                                   <include name="${test.match}.class"/>

                            </fileset>

                     </batchtest>

              </junit>

              <fail if="test.failure">

                 One or more unit tests failed.

           </fail>

       </target>

 
       <target name="report-test-unit" depends="test-unit" description="--> generate unit test report">

              <junitreport todir="${dist.unitreport.dir}">

                     <fileset dir="${dist.unitreport.dir}">

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

                     </fileset>

                     <report format="frames" todir="${dist.unitreport.dir}"/>

              </junitreport>

              <delete dir="${dist.unitreport.dir}" includes="TEST-*.xml"/>

       </target>

   

二、build.xml文件的编写

1、加载配置文件

        <property file="build.properties"/>2、定义全局变量

3、定义公用classpath信息,供编译时调用4、帮助信息5、建立ant具体的target
       build、deploy、deploywar、clean、undeploy、

6、建立junit测试target(有时包含测试报告)

       buildtests、tests、dbTests

7、建立数据库方面的target

       createTables、dropTables、loadData、printData、clearData、shutdownDb

8、Tomcat tasks

       先配置其classpath;再配置taskdef;最后配置target

       install、reload、start、stop、list

  
三、hsqldb在测试中的应用

1、hsqldb.jar:放置路径springapp/war/WEB-INF/lib/

2、server.bat:springapp/db/

java -classpath ..\war\WEB-INF\lib\hsqldb.jar org.hsqldb.Server -database test
3、编写sql脚本。如

springapp/db/create_products.sql

springapp/db/load_data.sql

4、编写ant脚本

包含属性文件的连接配置:

db.driver=org.hsqldb.jdbcDriverdb.url=jdbc:hsqldb:hsql://localhostdb.user=sadb.pw=
5、启动数据库

open a command window, change to the 'springapp/db' directory and start the database by running one of these startup scripts

6、执行ant脚本

 
如:<target name="dbTests" depends="build, buildtests,dropTables,createTables,loadData" description="Run db tests">

  
四、基于Spring框架的数据库操作测试

1、用到jar包:spring-test.jar;

2、测试类继承AbstractTransactionalDataSourceSpringContextTests;

如:

public class JdbcProductDaoTests extends AbstractTransactionalDataSourceSpringContextTests

 
3、复写父类方法,加载配置及其初始化资源

    private ProductDao productDao;    public void setProductDao(ProductDao productDao) {       this.productDao = productDao;    }    @Override    protected String[] getConfigLocations() {       return new String[] { "classpath:test-context.xml" };    }    @Override    protected void onSetUpInTransaction() throws Exception {       super.deleteFromTables(new String[] { "products" });       super.executeSqlScript("file:db/load_data.sql", true);
    }

3、建立测试方法

 
4、建立配置文件和数据库执行脚本文件

 
5、在build文件中添加相应建立ant脚本

     <path id="test-classpath">       <fileset dir="${web.dir}/WEB-INF/lib">           <include name="*.jar" />        </fileset>       <pathelement path="${build.dir}" />       <pathelement path="${test.dir}" />       <pathelement path="${web.dir}/WEB-INF/classes" />
    </path>

     <target name="dbTests" depends="build, buildtests,dropTables,createTables,loadData" description="Run db tests">       <junit printsummary="on" fork="false" haltonfailure="false" failureproperty="tests.failed" showoutput="true">           <classpath refid="test-classpath" />           <formatter type="brief" usefile="false" />            <batchtest>              <fileset dir="${build.dir}">                  <include name="**/Jdbc*Tests.*" />              </fileset>           </batchtest>        </junit>        <fail if="tests.failed">  One or more tests failed!  Check the output ...  </fail>    </target>
分享到:
评论

相关推荐

    Ant应用开发指南(学习ant的必备资料)

    《Ant应用开发指南》是IT领域中针对Ant构建工具的一份详尽的教程与资源,旨在帮助开发者深入了解并掌握Ant的使用方法与实践技巧。Ant,最初作为一个缩写代表“Another Neat Tool”,是一个功能强大的构建工具,尤其...

    Java的Build工具—Ant应用指南(1)

    这篇“Java的Build工具—Ant应用指南(1)”将引领我们走进Ant的世界,了解其基本概念、配置和使用方法。 1. Ant基本概念 - 构建文件:Ant的主要工作是通过读取一个名为`build.xml`的XML文件来执行构建任务。这个...

    ant应用小例子(适合初学者)

    自己做的ant编译java应用程序小示例!

    ant应用指南

    ### ant应用指南:深入解析与实战技巧 #### 引言 在软件开发过程中,构建工具扮演着至关重要的角色,它们负责项目的编译、测试、打包等自动化任务,从而提高开发效率,减少人为错误。其中,Apache Ant凭借其跨平台...

    ant应用开发

    ### Ant应用开发详解 #### 一、Ant简介与安装配置 Apache Ant 是一款开源的、跨平台的构建工具,主要用于Java项目的自动化构建和部署。它通过XML格式的配置文件(通常命名为`build.xml`)来定义项目的构建过程,极...

    JAVA_Ant详细介绍与应用

    在本文中,主要让读者熟悉怎样将Ant应用到Java项目中,让它简化构建和部署操作。 一.安装与配置 二.Ant的关键元素 三.Ant的常用任务 四.利用Ant构建和部署Java工程 1.利用Ant的javac任务来编译java程序 2.使用...

    讲解Ant的应用

    Ant与Make的主要区别在于它们的应用场景不同:Make主要应用于C/C++项目,而Ant主要面向Java项目。尽管如此,这种划分并非绝对,但在实际使用中Ant在Java领域更为流行。 环境配置是使用Ant的先决条件。可以通过...

    Java Development with Ant

    - **第二部分:应用Ant** - 展示如何将Ant应用于实际的开发项目中,涵盖更高级的主题和技术。 #### 重要知识点详解 ### 第一部分:学习Ant #### 1. Introducing Ant - **Ant简介**:Ant是一个基于Java的开源构建...

    ant1.9资源

    在本文中,主要让读者熟悉怎样将Ant应用到Java项目中,让它简化构建和部署操作。 一. 安装与配置 下载地址:http://ant.apache.org/,在本文中下载的是1.7.0版本。解压到某个目录(例如E:"apache-ant-1.7.0),...

    Ant命令的简介应用之快速入门

    Ant是一个Apache基金会下的跨平台的构件工具,它可以实现项目的自动构建和部署等功能。在本文中,主要让读者熟悉怎样将Ant应用到Java项目中,让它简化构建和部署操作。

    基于Jmeter+Ant+SVN+Jenkins实现接口自动化测试

    2. **Ant应用**: - **编写build.xml文件**:定义构建任务,如编译、测试、打包、部署等。 - **调用JMeter进行测试**:通过Ant任务执行JMeter测试计划,获取测试结果。 - **整合测试报告**:收集并格式化测试报告...

    tieba spring mvc ant

    通过这些文件,开发者可以了解项目的结构和工作流程,进一步学习和研究如何将Spring MVC和Ant应用于实际的Web项目,特别是与Tieba相关的场景。 总结来说,Spring MVC是用于构建Web应用的框架,Ant是Java项目常用的...

    ant ant ant ant

    这些XML文件描述了如何编译源代码、运行测试、打包应用以及执行其他构建相关的任务。Ant的灵活性和可扩展性使得它能够适应各种复杂的项目需求。 Ant的主要特点包括: 1. **任务驱动**:Ant通过一系列预定义的任务来...

Global site tag (gtag.js) - Google Analytics