- 浏览: 62273 次
- 性别:
- 来自: 安徽
最新评论
-
zongyaoliu:
很好用,谢谢
Notepad++也有列模式.[Notepad++] -
lxs647:
正需要O(∩_∩)O~
Notepad++也有列模式.[Notepad++] -
齐薄云天:
现在出来了一个基于 Ruby on Rails 框架的开源的项 ...
mantis简介 -
hlb1111:
svnant.jar、svnClientAdapter.jar ...
Ant+Junit+Svn实现自动单元测试 -
lianyeyu:
功能不错 但是速度不够快 好像是用php写的 应该有提升的可能 ...
mantis简介
一、概念
Ant 是一种基于Java 和XML 的build 工具,它可以让你轻松的编译和测试程序。Ant 使用一个XML 文件进行配置,这个文件也就是构建文件(buildfile) ,默认情况下被命名为build.xml 。Ant 的编译文件描述了你想应用在 项目中的每个任务。任务可能是编译Java 源码,生成Java 文档,查询数据库或者执行测试。编译文件可以有许多目标(target) ,或者叫进入点 (entry points) ,所以你可以执行某个单独的任务或者把他们串起来。
Junit 本质上是一套框架,即开发者制定了一套条条框框,遵循这此条条框框要求编写测试代码,如继承某个类,实现某个接口,就可以用Junit 进行自动测试了。
二、安装
下载apache-ant-1.7.0-bin.zip 和javamail-1_3_2-upd.zip 以及SVN1.4.3 。
1 把zip 分发包解压素到电脑上的某个目录(例如D:\Ant )。
2 在环境变量中增加一个ANT_HOME 变量,变量值就是Ant 的解压目录。例如:
变量名:ANT_HOME
变量值:D:\Ant\apache-ant-1.7.0 。
3 编辑你的系统的PATH 环境变量,加入ANT_HOME\bin 目录;
变量名:PATH
变量值:%ANT_HOME%\bin;.......
4 指定JDK 的安装目录
变量名:JAVA_HOME
变量值:C:\Program Files\Java\jdk1.6.0
变量名:PATH
变量值:%JAVA_HOME%\bin;.......
5 为了可以执行Ant 的JUnit task ,必须把src.jar 和 junit.jar 拷贝到 ant\lib 文件夹中
6 安装SVN
三 配置
建立项目,其目录结果如下:
项目
--build 存放编译后的文件
--dist 存放测试结果的包
--lib 存放项目运行时所需要的包
--src 存放源文件
--build.properties Ant 定义变量的文件
--build.xml Ant 的buildfile
为了实现自动从SVN 上更新最新代码,需要将 svnant.jar 、svnClientAdapter.jar 和svnjavahl.jar 这三个包放到项目的lib 下;配置邮件的时候,依赖 activation.jar 和mail.jar 这两个包,将他们放到Ant\lib 下。
这样基本配置就完成了。
四 bilid.xml 文件
<?xml version="1.0" encoding="GBK"?>
<project
name="junit-test" basedir="." default="mail">
<!-- all properties are in build.properties -->
<property file="build.properties"/>
<!-- 1 step checkout source files -->
<path id="project.classpath">
<pathelement location="${svnjavahl.jar}" />
<pathelement location="${svnant.jar}" />
<pathelement location="${svnClientAdapter.jar}" />
</path>
<taskdef resource="svntask.properties"
classpathref="project.classpath"/>
<target name="clean">
<delete dir="${src.dir}"/>
</target>
<target name="checkoutThis" depends="clean">
<svn username="${username}"
password="${password}">
<checkout url="${svnant.this.url}"
revision="HEAD" destPath="${src.dir}"/>
</svn>
</target>
<!--2 step run junit tests-->
<!--
配置基本属性-->
<property name="classpath"
location="${build.dir}"/>
<!--
配置测试报告的属性-->
<property name="report.xml"
value="${report.dir}/junit/xml"/>
<property name="report.html"
value="${report.dir}/junit/html"/>
<!--
配置运行时classpath-->
<path id="classpath.run">
<pathelement path="${classpath}"/>
<fileset dir="${lib.dir}">
<include name="*.jar"/>
</fileset>
</path>
<!--
配置测试时classpath-->
<path id="classpath.test">
<path
refid="classpath.run"/>
<path
location="${dist.dir}/test-${DSTAMP}.jar"/>
</path>
<!--
任务初始化-->
<target name="init"
depends="checkoutThis">
<tstamp/>
<delete
dir="${build.dir}"/>
<delete dir="${report.dir}"/>
<delete dir="${dist.dir}"/>
<mkdir
dir="${build.dir}"/>
<mkdir dir="${dist.dir}"/>
<copy
todir="${build.dir}">
<fileset dir="${src.dir}/src/main">
<include name="**/*.*" />
<exclude name="**/*.java"/>
</fileset>
</copy>
</target>
<!--
配置编译源文件任务-->
<target name="compile"
depends="init">
<javac
srcdir="${src.dir}" destdir="${build.dir}">
<classpath
refid="classpath.run" />
<include name="**/*.java"/>
</javac>
</target>
<!--
配置打包任务-->
<target name="dist"
depends="compile">
<mkdir
dir="${dist.dir}"/>
<jar
jarfile="${dist.dir}/test-${DSTAMP}.jar"
basedir="${build.dir}"/>
</target>
<!--
配置Juint
测试,打印测试结果-->
<target name="test" depends="compile,dist">
<mkdir
dir="${report.xml}"/>
<mkdir
dir="${report.html}"/>
<junit
printsummary="yes" haltonfailure="no">
<classpath refid="classpath.run"/>
<classpath refid="classpath.test"/>
<formatter type="xml"/>
<batchtest fork="yes" todir="${report.xml}">
<fileset dir="${src.dir}/src/test"
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>
<!--
将测试结果页面打成jar
包-->
<target name="JarReport" depends="test">
<jar jarfile="${report.dir}/report-${DSTAMP}.jar"
basedir="${report.dir}"/>
</target>
<!--
配置邮件-->
<target name="mail" depends="JarReport">
<mail mailhost="XXX" mailport="25"
subject="Junit Test Result ">
<from address="XXX@XXX.com"/
>
<to address="XXX@XXX.com
"/
>
<message>The nightly junit test has completed(refer to
attachment)</message>
<fileset dir="${report.dir}">
<include name="report-*.jar"/>
</fileset>
</mail>
</target>
</project>
五 实现定时运行
通过批处理文件可以实现定时运行Junit 测试,文件内容如下:
d:
cd project
ant
将文件命名为Auto.bat ,打开控制面板- 任务计划- 添加任务计划,选择Auto.bat ,并设定时间等。
至此,在系统设定的时间点,系统会自动执行该项目的单元测试用例,并将其结果发送给所配置的邮件接受者。
六 配置过程中遇到的问题
1 、将系统变量设为%ANT_HOME%\bin 后,在命令行输入ant ,却提示不是内部命令或者外部命令。
解决:系统变量更改后需要重新启动机器才能生效,或者在命令行中输入path *:\***\bin 让其生效。
2 、发送邮件的时候,提示 [mail] Failed to initialise MIME mail: javax/mail/MessagingException 错误
解决:将 activation.jar 和 mail.jar 这两个包,将他们放到 Ant\lib 下。
评论
还有activation.jar
这几个包到那里可以下
能不能把这几个包发一份邮件给我
hulbmail@gmail.com
谢谢!
发表评论
-
多浏览器行为同步的手工兼容性测试方法
2013-09-23 16:53 1028在搜多浏览器测试方 ... -
testlink安装及配置
2013-09-23 16:14 1431安装前准备 需要下载xampp 与 testlink 一、 ... -
安全性测试
2013-09-23 16:08 739建立整体的威胁模型,测试溢出漏洞、信息泄漏、错误处理、SQL ... -
Jmeter中如何收集性能参数
2012-06-08 17:55 1276jmeter并没有给我们提供收集参数方法,比如LR,通过WMI ... -
如何查看电脑是32位的还是64位的
2011-07-27 10:01 1163方法一、 在开始→运行中输入“winver”,如果您的系统是 ... -
批量运行文件
2011-03-25 11:00 998如果想批量运行某个文件夹下的一些文件,可以用以下的文件实现: ... -
Linux命令收集
2011-03-23 10:47 819Linux关闭防火墙命令 1) 永久性生效,重启后不会复原 ... -
rdoc生成API
2010-08-26 19:14 1205rdoc是生成ruby代码api文档的工具,跟javadoc的 ... -
db2关于DECIMAL类型的收藏
2010-07-26 15:20 3784创建表的时用的是DECIMAL(13,2), ... -
浅谈Datafactory
2010-07-22 14:56 1694最近在测试一个项目,有一个测试点是测试批量增加数据,在经过几轮 ... -
拾 遗
2009-06-30 19:41 752很久没有写了,最近又有一些体会,记录一下防止忘记了: 1.当 ... -
数据库测试积累
2009-01-21 16:38 981前段时间进行了关于数据库和后台线程的测试,让我学到了不少新知识 ... -
TD导出测试用例
2008-08-18 17:19 2705TD使用手册之测试用例导出 (2008-03-22 22:4 ... -
测试积累
2008-08-01 17:36 7841、登录页面通过查看页面的JS来确定登录验证是否正确,这样可以 ... -
JUNIT深入
2008-07-17 17:51 906发现了一片好文章,转 ... -
UI测试注意事项
2008-06-13 10:21 96301.按功能将界面划分局域块,完成相同或相近功能的按钮框起来, ... -
批处理-for命令收集
2008-06-11 13:35 2686一.for命令格式 对一组文件中的每个文件运行指定的命令。 可 ... -
设计功能和界面测试用例
2008-04-09 10:54 11451.1 文本框、按钮等控件测试 1.1.1 文本框的测试 如何 ... -
mantis简介
2008-04-01 15:12 37741 简介 缺陷管理贯穿 ...
相关推荐
开发者只需要按照JUnit规定的规则,比如继承特定的测试基类或实现特定接口,就可以创建可自动运行的测试用例。JUnit支持断言、异常测试、参数化测试等多种测试模式,极大地简化了测试工作。 接下来是SVN...
本文旨在探讨如何利用Selenium、JUnit和Hudson构建一个自动化测试框架。Selenium是一款强大的开源Web功能测试工具,支持多种编程语言,如Ruby、Python、Java、Perl和C#。它能直接在浏览器中运行测试,模拟真实用户的...
总结起来,这个“ant+svn的测试框架”很可能是一个关于如何结合使用Ant和SVN来搭建和管理Android应用的测试环境的教程或示例项目。它涵盖了版本控制、构建自动化以及测试的实践,对于Android开发者来说,这样的知识...
### Jenkins+SVN+Ant持续集成环境配置笔记 #### 一、引言 随着软件开发项目的日益复杂化,持续集成(Continuous Integration, CI)已成为现代软件工程中的一个重要组成部分。通过持续集成,团队能够频繁地集成代码...
标题中的“antsvn更新打包部署提交自动化”涉及的是在软件开发过程中如何利用Ant(一个Java构建工具)和Subversion(SVN,版本控制系统)实现自动化的构建、更新、打包、部署和提交流程。这个过程旨在提高开发效率,...
这些插件可能包括源代码管理工具(如Git或SVN)、构建触发器、构建工具(如Maven或Ant)以及自动化测试框架(如JUnit或Selenium)。 接下来,配置Jenkins的工作流: - **创建新Job**:在Jenkins中创建新的构建Job...
在实际应用中,`build.xml`文件会包含一系列Ant任务,比如`svnCheckout`来从SVN检出代码,`javac`来编译Java源码,`junit`来运行测试,以及`jar`或`war`来打包应用。这些任务可以通过Ant的条件语句和循环结构进行...
例如,使用Ant的`junit`任务运行单元测试,确保代码质量。如果测试通过,可以继续执行打包任务,生成AIR或APK文件。如果不通过,则发送报警通知,提示开发者解决问题。 对于多分支管理,Ant可以帮助自动化分支的...
自动化单元测试的可行性分析 软件测试 纵观现在的企业应用,主流开发环境是:java+eclipse+cvs/svn+ant。.net的不了解,这里略过一万字,呵呵。 对于java开发环境来说,相信大部分企业都是这个样子。那么以此为...
例如,`用SVN+Ant实现基于产品的项目代码管理 - ZMud技术博客`中提供了具体的配置示例,展示了如何配置Ant来根据不同的产品分支自动检出相应的代码。 此外,`svn.xml`可能是另一个Ant的配置文件,其中可能包含了...
### Junit 教程及代码知识点总结 #### 一、单元测试的重要性和...综上所述,本教程旨在帮助读者掌握如何使用JUnit这一强大的单元测试框架来提高代码的质量和设计水平,同时通过实践案例加深对TDD的理解与应用能力。
3. **版本控制集成**:Ant可以与SVN、Git等版本控制系统集成,实现自动化代码拉取、提交等功能。 4. **多环境配置**:通过定义不同的构建配置文件或使用`property`元素,可以轻松切换开发、测试、生产等不同环境下...
综合以上,我们可以构建一个完整的流程:使用ANT自动化构建Java项目,同时通过SVN管理代码版本,然后将构建好的应用部署到Nginx+Tomcat的架构中,实现负载均衡和Session共享。这样的架构不仅提高了系统的可用性和...
例如,它可以与JUnit无缝配合,执行单元测试;与Apache Ivy协同工作,实现依赖管理;还可以通过Ant本身提供的task或者第三方库与Maven、Gradle等现代构建工具交互。这些工具的集成大大提升了Ant的实用性。 Ant的...
- **JUnit集成**: Ant 1.7.0加强了与JUnit的集成,方便进行自动化测试。 **3. 使用Ant 1.7.0** - **安装**: 解压"apache-ant-1.7.0.rar"后,需要将Ant的bin目录添加到系统路径中,以便在命令行中运行`ant`命令。 ...
通过执行`ant`命令,`Ant`会读取`build.xml`并执行其中定义的打包任务,从而实现自动打包。 总结起来,`Ant`是一个强大的工具,能够帮助开发者自动化Java项目的构建过程,包括源代码的编译、打包和部署。熟练掌握`...
9. **构建工具链集成**:Ant可以很好地与JUnit进行集成,执行单元测试;与Javadoc一起生成API文档;甚至可以与CVS、SVN等版本控制系统协同工作。 通过阅读这个“ant中文帮助文档”,开发者将能够理解Ant的基本原理...
7. **外部工具集成**:Ant可以与JUnit进行集成进行单元测试,或者与Maven、Gradle等其他构建工具配合使用。 8. **属性和变量**:如何设置和使用属性,以及如何引用环境变量。 9. **Shell脚本**:在Ant中,可以通过...