`
祖祖cool
  • 浏览: 52408 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

利用ant编译的同时,运行junit来检查编码

阅读更多
    我们都清楚,日常开发中,最常用的功能是:编译、打包、运行junit testcase、检查编码规范。在此给出这些最常用功能的一个ant模板文件,与各位共享。
<?xml version="1.0" encoding="gb2312"?>
<project name="Test Project" default="all" basedir=".">

    <property name="src.code" value="src"/>
    <property name="src.junit" value="junit"/>
    <property name="lib.dir" value="lib"/>
    <property name="lib.jar" value="TestClass.jar"/>
   
    <!-- checkstyle configuration -->
    <property name="checkstyle.config" value="checkstyle.xml"/>
    <taskdef resource="checkstyletask.properties"
             classpath="${lib.dir}/checkstyle-all-3.1.jar"/>
   
   
    <!-- 输出文档 -->
    <property name="doc.dir" value="doc"/>
    <property name="doc.api" value="${doc.dir}/api"/>
    <property name="javadoc.package" value="com.*"/>
   
    <!-- 输出二进制文件 -->
    <property name="dist.root" value="dist"/>
    <property name="dist.proj" value="${dist.root}/proj"/>
    <property name="dist.classes" value="${dist.proj}/classes"/>
    <property name="dist.lib" value="${dist.proj}/lib"/>
    <property name="dist.junit" value="${dist.root}/junit"/>
   
    <!-- classpath -->
    <path id="classpath">
        <fileset dir="${lib.dir}">
            <include name="**/*.jar"/>
        </fileset>
    </path>
   
    <path id="proj.libs">
        <fileset dir="${dist.lib}">
            <include name="**/*.jar"/>
        </fileset>     
    </path>
   
    <target name="init">
        <mkdir dir="${doc.dir}"/>
        <mkdir dir="${dist.root}"/>
        <mkdir dir="${dist.proj}"/>
        <mkdir dir="${dist.lib}"/>
        <tstamp/>
        <echo message="${TSTAMP}"></echo>
    </target>
   
    <target name="all" depends="compilesrc, javadoc, checkstyle"/>
   
    <!-- 编译源文件 -->
    <target name="compilesrc" depends="init">
        <mkdir dir="${dist.classes}"/>
       
        <javac destdir="${dist.classes}" deprecation="on">
            <src path="${src.code}"/>
            <classpath refid="classpath"/>
        </javac>

        <jar jarfile="${dist.lib}/${lib.jar}" basedir="${dist.classes}">
            <include name="**/*.class"/>
        </jar>     
    </target>
   
    <!--  产生javadoc -->
    <target name="javadoc" depends="init">
        <mkdir dir="${doc.api}"/>
       
        <javadoc packagenames="${javadoc.package}" sourcepath="${src.code}"
             private="yes" defaultexcludes="yes" destdir="${doc.dir}/api">
            <classpath refid="classpath"/>
        </javadoc>
    </target>
   
    <!--  编译Junit文件 -->
    <target name="compilejunit" depends="compilesrc">
        <mkdir dir="${dist.junit}"/>
       
        <javac destdir="${dist.junit}" deprecation="on">
            <src path="${src.junit}"/>
            <classpath refid="classpath"/>
            <classpath refid="proj.libs"/>
        </javac>       
    </target>
   
    <!-- 运行checkstyle检查代码规范 -->
    <target name="checkstyle" depends="init">
        <checkstyle config="${checkstyle.config}">
            <fileset dir="${src.code}" includes="**/*.java"/>
            <formatter type="plain"/>
            <formatter type="xml" toFile="${dist.root}/checkstyle_errors.xml"/>
        </checkstyle>
    </target>
   
    <!--  运行junit  -->
    <target name="junit" depends="compilejunit">
        <junit printsummary="yes" haltonfailure="yes">
            <classpath>
                <path refid="classpath"/>
                <pathelement location="${dist.junit}"/>
            </classpath>
           
            <formatter type="plain"/>
       
            <!-- test name="com.TestClassTest" haltonfailure="no" outfile="result"/ -->
       
            <batchtest todir="${dist.junit}">
                <fileset dir="${dist.junit}" includes="**/Test*.class" />
            </batchtest>
        </junit>
    </target>
   
    <!-- 清除产生的类、junit相关类、文档 -->
    <target name="clean">
        <delete dir="${dist.classes}"/>
        <delete dir="${dist.junit}"/>
        <delete dir="${doc.api}"/>
    </target>
   
    <!-- 清除所有输出结果 -->
    <target name="cleanall" depends="clean">
        <delete dir="${doc.dir}"/>
        <delete dir="${dist.root}"/>
    </target>
</project>
3
0
分享到:
评论
1 楼 signme 2012-01-06  
好,不错的.

相关推荐

    Ant+JUnit测试报告实际例子

    JUnit 提供了丰富的断言方法,如 `assertEquals()` 和 `assertTrue()`,来检查代码的预期行为。在 Ant 中,通过指定 `src` 目录,Ant 将自动扫描并运行这些测试用例。 为了运行这个 Ant+JUnit 的测试报告实例,你...

    junit与ant教程.rar

    JUnit提供了注解(如@Test)来标记测试方法,以及断言(如assertEquals)来检查预期结果。通过使用JUnit,开发者可以在编码阶段就发现并修复错误,提高代码质量。此外,JUnit还支持异常测试、参数化测试、定时测试等...

    android ant test

    通过引入额外的Ant插件,如ProGuard(代码混淆)、Checkstyle(编码规范检查)等,可以进一步提升项目的质量和可维护性。 总结来说,"android ant test"涉及到Android项目中的构建自动化和测试自动化,通过编写和...

    ant文档集合(自己学习ant时的资料)

    Ant是Apache软件基金会下的一个构建工具,主要用于Java项目的构建、编译、测试、打包和部署。这个压缩包文件集合提供了一系列关于Ant的学习资料,对于初学者来说是非常宝贵的资源。以下将详细阐述Ant的相关知识点。 ...

    ant配置ant配置

    本文将深入探讨Ant配置的相关知识点,以及如何利用Ant实现高效开发。 首先,我们来理解Ant的基本结构。一个Ant项目通常由一个名为`build.xml`的主配置文件构成,其中包含了各种任务(tasks)和目标(targets)。...

    Ant 入门讲解视频

    - 避免硬编码路径,利用相对路径和属性来表示路径,便于移植。 - 使用条件语句和循环结构,以适应不同环境的构建需求。 6. **Ant的扩展** - Ivy:Apache的依赖管理工具,可以与Ant结合使用,解决大型项目中的...

    ant in action源码

    Ant是Java生态系统中的一个重要组件,用于构建、编译、测试和部署Java项目。这本书通过丰富的示例和实战演练,帮助开发者掌握Ant的使用和配置技巧。 在Ant中,XML格式的构建文件(build.xml)是核心,它定义了项目...

    Ant-brief.rar_类似ant工具

    例如,它可以调用Javac任务来编译Java源代码,使用Jar任务来创建可分发的JAR文件,甚至可以通过JUnit任务来运行单元测试。这种模块化的任务设计使得开发者可以根据需要自由组合,实现个性化的构建流程。 Ant的配置...

    ant脚本文档学习

    首先,Ant的构建过程由一系列任务(Tasks)组成,这些任务可以完成如编译源代码、创建JAR文件、运行单元测试等操作。任务通过XML格式的构建文件(build.xml)定义,这是Ant的核心文件,它描述了构建过程的步骤和依赖...

    ant打包及整合质量控制插件

    总结来说,Ant作为一个强大的构建工具,可以方便地管理项目的构建过程,同时通过整合质量控制插件,确保代码质量和一致性。通过合理配置`build.properties`、`build.xml`和`ci_build.xml`,我们可以实现自动化、高效...

    Ant实例 web工程部署

    例如,不应该依赖于人工运行代码生成器后再进行编译,而应由Ant自动处理。 6. **利用版本控制系统**:将Ant构建文件纳入版本控制,确保团队成员使用的是同一版本,同时可以追踪构建文件的历史变更。 7. **使用...

    ANT 学习资材

    Ant是Apache软件基金会开发的一个开源项目,它使用XML来描述构建过程,包括编译、打包、测试等任务,使得开发者能够自动化管理项目的构建流程。描述中的“晚上回去研究研究”,暗示了这些资材可能是为了帮助初学者或...

    ant.jar java工具

    `ant.jar`包含了Ant运行所需的全部类和方法,使得开发者可以执行各种构建任务,包括编译、打包、测试、清理等。 在Java的内置库`java.util.zip`中,虽然提供了诸如`ZipOutputStream`和`ZipInputStream`这样的类来...

    Ant.The.Definitive.Guide2

    10. **最佳实践**:有效的Ant使用技巧包括合理组织构建文件、避免硬编码路径、利用属性文件进行配置,以及编写清晰、可维护的构建脚本。 在压缩包中,"www_sj00_com.txt"可能是一个文本文件,包含Ant的使用示例或...

    基于ant脚本的代码质量评价的研究与应用.doc

    2. 代码质量检查:ANT支持集成如FindBugs、Checkstyle、PMD等静态代码分析工具,这些工具能检测出潜在的编程错误、不符合编码规范的地方,从而提升代码质量。 3. 代码审查与重构:通过ANT,可以自动化执行Code...

    ANT十五大最佳实践

    10. **使用`&lt;typedef&gt;`引入自定义任务**:通过`&lt;typedef&gt;`引入第三方任务库,扩展ANT的功能,如引入JUnit测试支持。 11. **管理外部资源**:将第三方库放在`lib`目录下,便于管理和版本控制。同时,可以使用`...

    Axis2已编译通过并正常工程源码

    5. **编码与构建**:使用Java语言编写Axis2服务,通常需要集成构建工具如Maven或Ant来管理依赖和编译源码。编译通过意味着所有的依赖已经解决,源代码没有语法错误,可以正常运行。 6. **WSDL(Web服务描述语言)**...

    Ant1.7+middlegen-2.1+配置手顺

    它通过XML文件定义任务,这些任务包括编译源代码、运行测试、打包和部署应用程序等。`Ant 1.7.0`引入了许多新特性,如改进的属性处理、支持Java 5的注解以及对JUnit测试的支持增强等。要使用`Ant`,你需要在你的项目...

    IntellijIdea开发工具详细使用及常用快捷键.pdf

    此外,它支持J2EE、Ant、JUnit和CVS的集成,使得企业级Java开发更加便捷。 IntelliJ IDEA的GUI界面设计人性化,各个工具窗口可以灵活打开和关闭,最大化利用屏幕空间。它的调试器功能强大,支持本地和远程调试,...

    IntellijIdea开发工具详细使用文档.docx

    它的核心特点在于智能编码辅助、自动控制、J2EE、Ant、JUnit和CVS集成,以及非平行编码检查等功能,极大地提高了开发效率。 1. IntelliJ IDEA开发环境配置: - **配置JRE运行环境**:为了运行Java应用程序,需要...

Global site tag (gtag.js) - Google Analytics