• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

利用 Ant 和 JUnit 进行增量开发

发布: 2010-6-17 14:32 | 作者: 不详 | 来源: 领测测试网采编 | 查看: 73次 | 进入软件测试论坛讨论

领测软件测试网

  下载和安装 Ant

  首先下载 Ant(请参阅参考资料)。将 Ant 解压缩到 tools 目录,再将 Ant bin 目录添加到路径中。(在我的机器上是 e:\tools\ant\bin 。)设置 ANT_HOME 环境变量。在 NT 中,这意味着进入系统属性,然后以带有值的变量形式添加 ANT_HOME。ANT_HOME 应该设置为 Ant 根目录,即包含 bin 和 lib 目录的目录。(对我来说,是 e:\tools\ant 。)确保 JAVA_HOME 环境变量设置为安装了 JDK 的目录。Ant 文档有关于安装的详细信息。

  下载和安装 JUnit

  下载 JUnit 3.2(请参阅参考资料)。解开 junit.zip ,并将 junit.jar 添加到 CLASSPATH。如果将 junit.zip 解包到类路径中,可以通过运行以下命令来测试安装: java junit.textui.TestRunner junit.samples.AllTests

  定义目录结构

  在开始我们的构建和测试过程之前,需要一个项目布局。图 3 显示了我的样本项目的布局。下面描述了布局的目录结构:

  build -- 类文件的临时构建位置。构建过程将创建这个目录。

  src -- 源代码的位置。 Src 被分为 test 文件夹和 main 文件夹,前者用于所有的测试代码,而后者包含可交付的代码。将测试代码与主要代码分离提供了几点特性。首先,使主要代码中的混乱减少。其次,它允许包对齐。我就热衷与将类和与其相关的包放置在一起。测试就应该和测试在一起。它还有助于分发过程,因为你不可能打算将单元测试分发给客户。

  在实际中,我们有多个目录,例如 distribution 和 documentation 。我们还会在 main 下有多个用于包的目录,例如 com.company.util 。

  因为目录结构经常变动,所以在 build.xml 中有这些变动的全局字符串常数是很重要的。

  图 3. 项目布局图

项目布局图

  Ant 构建配置文件示例

  下一步,我们要创建配置文件。清单 4 显示了一个 Ant 构建文件示例。构建文件中的关键就是名为 runtests 的目标。这个目标进行分支判断并运行外部程序,其中外部程序是前面已安装的 junit.textui.TestRunner 。我们指定要使用语句 test.com.company.AllJUnitTests 来运行哪个测试套件。

  清单 4. 构建文件示例

<property name="app.name" value="sample" /> <property name="build.dir" value="build/classes" /> <target name="JUNIT"> <available property="junit.present" classname="junit.framework.TestCase" /> </target> <target name="compile" depends="JUNIT"> <mkdir dir="${build.dir}"/> <javac srcdir="src/main/" destdir="${build.dir}" > <include name="**/*.java"/> </javac> </target> <target name="jar" depends="compile"> <mkdir dir="build/lib"/> <jar jarfile="build/lib/${app.name}.jar" basedir="${build.dir}" includes="com/**"/> </target> <target name="compiletests" depends="jar"> <mkdir dir="build/testcases"/> <javac srcdir="src/test" destdir="build/testcases"> <classpath> <pathelement location="build/lib/${app.name}.jar" /> <pathelement path="" /> </classpath> <include name="**/*.java"/> </javac> </target> <target name="runtests" depends="compiletests" if="junit.present"> <java fork="yes" classname="junit.textui.TestRunner" taskname="junit" failonerror="true"> <arg value="test.com.company.AllJUnitTests"/> <classpath> <pathelement location="build/lib/${app.name}.jar" /> <pathelement location="build/testcases" /> <pathelement path="" /> <pathelement path="${java.class.path}" /> </classpath> </java> </target> </project>

  

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网