`
daniel_tu
  • 浏览: 184446 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

用Ant编译、junit测试、生成测试报告、最终自动发mail

    博客分类:
  • Java
阅读更多
测试通过的版本如下:
Eclipse:3.3.2
jdk:1.6
junit:3.8
ant:1.7(1.7之前的版本好像还不提供mail功能。。。)

<!-- JUnit build script using ant 1.7 -->
<project name="JunitTestProject" default="mail" basedir=".">
<property name="app.name" value="JunitTestProject" />
<property name="build.dir" value="bin" />

<!-- ====================" path  define  " ================================ -->
<path id="cobertura.classpath">
  <fileset dir="lib/coberture">
   <include name="cobertura.jar" />
   <include name="*.jar" />
  </fileset>
</path>
<!-- ====================" cobertura task define  " Target ================================ -->
<taskdef classpathref="cobertura.classpath" resource="tasks.properties" />

<!-- ==================== "clean " Target ================================ -->
<target name="clean">
  <available property="junit.present" classname="junit.framework.TestCase" />
  <delete dir="${build.dir}" quiet="true" />
  <delete file="report" quiet="true" />
</target>

<!-- ==================== "copy xml resource " Target ================================ -->
<target name="copyxml" depends="clean">
  <copy todir="${build.dir}/testcases">
   <fileset dir="WEB-INF" />
  </copy>
</target>

<!-- ==================== "compile  src" Target ================================ -->
<target name="compile" depends="copyxml">
  <mkdir dir="${build.dir}" />
  <javac srcdir="src" destdir="${build.dir}" debug="yes">
   <classpath>
    <fileset dir="lib" casesensitive="yes">
     <include name="**/*.jar" />
    </fileset>
   </classpath>
   <include name="**/*.java" />
  </javac>
  <javac srcdir="WEB-INF" destdir="${build.dir}">
   <classpath>
    <fileset dir="lib" casesensitive="yes">
     <include name="**/*.jar" />
    </fileset>
   </classpath>
   <include name="*.jsp" />
  </javac>
</target>

<!-- ==================== jar" Target ================================ -->
<target name="jar" depends="compile">
  <mkdir dir="dist/lib" />
  <jar jarfile="dist/lib/${app.name}.jar" basedir="${build.dir}" includes="com/**" />
</target>

<!-- ==================== compile test src" Target ================================ -->
<target name="compiletests" depends="jar">
  <mkdir dir="${build.dir}/testcases" />
  <javac srcdir="test" destdir="${build.dir}/testcases" >
   <classpath>
    <fileset dir="lib" casesensitive="yes">
     <include name="**/*.jar" />
    </fileset>
    <fileset dir="dist/lib" casesensitive="yes">
     <include name="**/*.jar" />
    </fileset>
   </classpath>
   <include name="**/*.java" />
  </javac>
</target>

<!-- ==================== instrumented" Target ================================ -->
<target name="instrumented" depends="compiletests">
  <cobertura-instrument todir="bin/instrumented-classes">
   <ignore regex="org.apache.log4j.*" />
   <fileset dir="bin">
    <include name="com/**/*.class" />
   </fileset>
  </cobertura-instrument>
</target>

<!-- ==================== junit-test" Target ================================ -->
<target name="runtests" depends="instrumented">
  <mkdir dir="report" />
  <property name="tests" value="*Test" />
  <junit printsummary="yes" haltonerror="yes" haltonfailure="yes" fork="yes">

   <formatter type="plain" usefile="false" />
   <formatter type="xml" />
   <batchtest todir="report">
    <fileset dir="test">
     <include name="**/${tests}.java" />
     <exclude name="**/ConfigTest.java" />
    </fileset>
   </batchtest>
   <!--
    Note the classpath order: instrumented classes are before the
    original (uninstrumented) classes.  This is important.
   -->
   <classpath location="bin/instrumented-classes" />
   <!--
    src classpath
   -->
   <classpath location="bin" />

   <!--
    The instrumented classes reference classes used by the
    Cobertura runtime, so Cobertura and its dependencies
    must be on your classpath.
   -->
   <classpath refid="cobertura.classpath" />
   <!--
    test case class path define
   -->
   <classpath>
    <fileset dir="lib" casesensitive="yes">
     <include name="**/*.jar" />
    </fileset>
    <pathelement location="bin/testcases" />
   </classpath>
  </junit>
</target>

<!-- ==================== junit-report" Target ================================ -->
<target name="report" depends="runtests">
  <mkdir dir="report/html" />
  <junitreport todir="report">
   <fileset dir="report">
    <include name="TEST-*.xml" />
   </fileset>
   <report todir="report/html" />
  </junitreport>
</target>


<!-- ==================== "coverage-report" Target ================================ -->
<target name="coverage-report" depends="report">
  <cobertura-report format="html" destdir="cobertura" >
   <fileset dir="src">
    <include name="**/*.java" />
   </fileset>
  </cobertura-report>
  <echo>The execution of coverage-report is complete. Coverage Reports are available in /${coverage-report}</echo>
</target>

<!-- ==================== "make file to zip" Target ================================ -->
<target name="make_data_zip" depends="coverage-report">
  <tstamp>
   <format property="date" pattern="yyyy-MM-dd HH-mm" />
  </tstamp>
  <jar jarfile="dist/lib/cobertura${date}.zip" basedir="cobertura" />
  <jar jarfile="dist/lib/report${date}.zip" basedir="report" excludes="*.xml"/>
</target>


<!-- ==================== "mail" Target ================================ -->
<target name="mail" depends="make_data_zip">
  <!-- <taskdef name="mail" classname="org.apache.tools.ant.taskdefs.optional.mail.MimeMail"/> -->
  <tstamp/>
  <mail messageMimeType="text/html"
                    messageFile="message.txt"
                    tolist="bpcjy@hotmail.com"
                    mailhost="mailsvr or mail IPAddress"
                    subject="JUnit Test Results: ${TODAY}"
                    from="bpcjy@hotmail.com">
   <fileset dir=".">
    <include name="dist/lib/*.zip"/>
   </fileset>
  </mail>
</target>

</project>
分享到:
评论

相关推荐

    eclipse下利用ant、junit进行自动化测试例子源码

    通过ANT,可以设定测试目标,例如编译源代码、运行测试、生成测试报告等。当ANT执行测试时,JUnit会运行所有的测试用例,并报告测试结果。 6. **源码分析**:压缩包中的"testAntJunit"文件可能是包含了一个示例项目...

    JUnit使用ANT格式化生成html测试报告

    在“JUnit使用ANT格式化生成html测试报告”的主题中,我们需要了解以下几个关键知识点: 1. **JUnit测试框架**:JUnit是Java的一个单元测试库,它提供了断言方法来验证代码的行为,以及注解来标记测试方法。例如,`...

    Ant+JUnit测试报告实际例子

    总的来说,这个"Ant+JUnit测试报告实际例子"提供了一个完整的测试工作流程,涵盖了从编写测试用例到自动化执行和生成报告的全部过程。通过学习和实践这个例子,开发者可以更好地理解如何在 Java 项目中实现有效的...

    Ant 使用Junit进行单元测试

    接下来,我们将深入探讨如何使用Ant结合JUnit进行单元测试。 首先,我们需要了解Ant的基本概念。Ant是一个由Apache基金会开发的任务驱动的构建系统,它的核心是build.xml文件,这是一个XML格式的脚本,定义了构建...

    使用ant脚本编译并运行junit单元测试,并生成测试报告

    本文将深入探讨如何使用Ant脚本来编译Java代码、运行JUnit单元测试以及生成测试报告。 首先,我们需要理解Ant的基本结构。一个Ant项目通常由一个名为`build.xml`的文件组成,其中包含了构建过程的步骤。这个文件...

    Ant+Junit+Svn实现自动单元测试

    总结来说,Ant+JUnit+Svn的结合可以实现从版本控制仓库自动获取最新代码,编译项目,运行单元测试,生成测试报告,并在必要时发送邮件通知的完整自动化流程。这种自动化测试流程对于持续集成和提高开发效率具有重要...

    ant junit测试

    在"ant junit测试"的场景下,我们通常会用Ant来驱动JUnit进行测试。首先,你需要在Ant的构建文件(通常命名为build.xml)中定义一个任务,这个任务负责调用JUnit的测试类。这可以通过Ant的`junit`任务来实现。在`...

    JUnit+Ant 生成测试报告

    总结起来,使用JUnit和Ant进行单元测试和生成测试报告是Java开发中的常见实践。通过JUnit编写测试用例,可以确保代码的正确性,而Ant则提供了一个强大的平台来管理和自动化这个过程,包括生成易于理解和分析的测试...

    ant+junit教程

    通过对这些文件进行研究,你可以更深入地理解如何在实际项目中结合使用Ant和JUnit。 总之,Ant和JUnit的结合使用为Java开发者提供了一套强大的工具,使得项目构建和测试工作变得更加高效和规范。通过编写清晰的Ant...

    ANT&JUNIT中文手册

    同时,由于Ant可以与JUnit集成,手册也将教你如何通过Ant来运行JUnit测试,从而实现构建过程中的自动化测试。 Ant与JUnit的结合使用是Java开发中的常见实践,Ant负责项目的构建,而JUnit则确保代码的质量。通过Ant...

    Apache Ant 与Junit 对Java工程联合测试DEMO

    在与JUnit结合使用时,Ant可以在构建过程中自动执行测试,并生成测试报告。在配置`junit`任务时,你需要指定测试类或包含测试的类路径,还可以设置如失败时是否中断构建等选项。例如: ```xml &lt;junit ...

    一个使用ant及junit进行单元测试的简单例子

    标题中的“一个使用ant及junit进行单元测试的简单例子”揭示了本主题将围绕两个核心工具——Apache Ant和JUnit,讲解如何在Java项目中进行单元测试。Apache Ant是一个广泛使用的构建工具,它允许开发者通过XML配置...

    ant-junit-1.6.5.jar.zip

    通过理解Ant和JUnit的基本概念,以及如何配置和使用它们,我们可以更高效地进行Java项目的自动化测试,确保代码的质量和稳定性。在实践中,不断优化和调整测试策略,可以使测试工作更加高效和可靠。

    Spring+JUnit4 +Ant测试报告

    3. **配置Ant**:在Ant的build.xml文件中添加JUnit任务(&lt;junit&gt;),指定测试类路径、测试类或测试套件,以及生成测试报告的相关参数。 4. **运行测试**:通过命令行或者IDE运行Ant任务,Ant会执行JUnit测试,并将...

    ant-junit4.jar.zip

    通过Ant-junit4.jar,我们可以让Ant自动执行JUnit4测试,生成测试报告,并将测试结果集成到构建流程中,确保代码的质量。 要使用ant-junit4.jar,首先需要将其解压,获取ant-junit4.jar文件。然后在Ant的lib目录下...

    ant结合JUnit进行软件自动测试

    Ant结合JUnit进行软件自动化测试是一种常见的Java开发中的实践,它能够帮助开发者快速验证代码的正确性,提高软件质量。在本文中,我们将深入探讨如何利用这两个工具进行有效的测试。 首先,Ant是一个基于Java的...

    ant-junit-1.6.1.jar.zip

    当我们在Ant的构建脚本中配置JUnit任务时,需要引入这个库,以确保Ant能够正确地运行和报告测试结果。 在使用“ant-junit-1.6.1.jar.zip”时,通常会将其解压,然后将“ant-junit-1.6.1.jar”添加到Ant的类路径中。...

    ant-junit-1.7.0.jar.zip

    3. 使用ant-junit-1.7.0.jar 要使用“ant-junit-1.7.0.jar”,首先需要将其添加到项目的类路径中。然后,在Ant的build.xml文件中配置JUnit任务,例如: ```xml &lt;junit printsummary="yes" haltonfailure="no"&gt; ...

    junit + ant 自动化测试

    在`JUnit`测试集成到`Ant`构建过程中,通常会有一个`&lt;junit&gt;`任务,它负责调用`JUnit`运行测试,并能够收集测试结果、处理异常、生成测试报告等。 在这个"junit + ant 自动化测试"的demo版本中,我们很可能是看到一...

    Junit测试报告.pdf

    本文档是关于Junit单元测试的详细报告,报告涵盖了Junit单元测试的所有方面,包括实验目的、实验环境、实验内容、实验步骤、测试用例、测试计划、覆盖率测试报告等,为读者提供了一个全面的了解Junit单元测试的机会...

Global site tag (gtag.js) - Google Analytics