本文转自http://blog.csdn.net/ybygjy/article/details/6135915
Java单元测试,测试环境、自动构建脚本
Java单元测试, 测试环境、自动执行脚本
如何进行单元测试,如何批量执行测试用例?
2011年 01 月 13 日
文章内容描述了单元测试环境以及单元测试自动构建脚本
单元测试
测试环境
辅助单元测试
自动构建脚本
目录结构
Ant脚本 (下载文件)
- <? xml version = "1.0" encoding = "UTF-8" ?>
- < project default = "main" >
- < tstamp >
- < format property = "date" pattern = "yyyy-MM-dd hh:mm:ss" locale = "zh" />
- </ tstamp >
- < property name = "project" value = "TestUnit" />
- < property name = "project.basedir" value = "D:/work/workspace/mywork" />
- < property name = "project.build" value = "${project.basedir}/build" />
- < property name = "project.build.lib" value = "${project.build}/lib" />
- < property name = "project.build.tmpdir" value = "${project.build}/tmp" />
- < property name = "project.build.tmpdir.confdir" value = "${project.build}/tmp/WEB-INF" />
- < property name = "project.webroot" value = "${project.basedir}/WebContent" />
- < property name = "project.webroot.confdir" value = "${project.webroot}/WEB-INF" />
- < property name = "project.webroot.lib" value = "${project.webroot.confdir}/lib" />
- < property name = "project.junit.output" value = "${project.webroot}/junit" />
- <!--global conf-->
- < path id = "project.compile.lib" >
- < pathelement path = "${classpath}" />
- < fileset dir = "${project.webroot.lib}" >
- < include name = "**/*.jar" />
- </ fileset >
- </ path >
- < path id = "project.compile.testlib" >
- < pathelement path = "${project.build.tmpdir}" />
- < fileset dir = "${project.build.lib}" >
- < include name = "**/*.jar" />
- </ fileset >
- </ path >
- < patternset id = "project.junit.exclude" >
- < include name = "**/*Test*" />
- < exclude name = "**/testunit/**" />
- < exclude name = "**/chart/**" />
- < exclude name = "**/workflow/**" />
- < exclude name = "**/TestAction*" />
- </ patternset >
- < target name = "init" >
- < echo > Init Begin </ echo >
- < mkdir dir = "${project.build.tmpdir}" />
- < mkdir dir = "${project.build.tmpdir.confdir}" />
- < mkdir dir = "${project.junit.output}" />
- < echo > Init End </ echo >
- </ target >
- < target name = "destroy" >
- < echo > Destroy Begin </ echo >
- < delete dir = "${project.build.tmpdir}" />
- < delete >
- < fileset dir = "${project.junit.output}" >
- < include name = "TEST*.xml" />
- </ fileset >
- </ delete >
- < echo > Destroy End </ echo >
- </ target >
- < target name = "compileSRC" >
- < echo message = "Compile SRC Begin" />
- < javac srcdir = "${project.basedir}/src" destdir = "${project.build.tmpdir}" >
- < classpath refid = "project.compile.lib" />
- </ javac >
- < echo message = "Compile SRC End" />
- </ target >
- < target name = "compileTEST" >
- < echo message = "Compile TEST Begin" />
- < javac srcdir = "${project.basedir}/test" destdir = "${project.build.tmpdir}" encoding = "GBK" >
- < classpath refid = "project.compile.lib" />
- < classpath refid = "project.compile.testlib" />
- </ javac >
- < echo message = "Compile TEST End" />
- </ target >
- < target name = "copyfile" >
- < echo message = "BEGIN WEB-INF END" />
- < copy todir = "${project.build.tmpdir.confdir}" >
- < fileset dir = "${project.webroot.confdir}" >
- < include name = "*.xml" />
- < include name = "*.properties" />
- < include name = "*.log" />
- </ fileset >
- </ copy >
- < echo message = "Copy WEB-INF END" />
- < echo message = "Copy test config file BEGIN" />
- < copy todir = "${project.build.tmpdir}" >
- < fileset dir = "${project.basedir}/test" >
- < include name = "**/*.properties" />
- </ fileset >
- </ copy >
- < echo message = "Copy test config file END" />
- </ target >
- < target name = "testunit" >
- < echo message = "Running TestCase Begin" />
- < junit printsummary = "on" fork = "true" showoutput = "true" >
- < classpath refid = "project.compile.lib" />
- < classpath refid = "project.compile.testlib" />
- < formatter type = "xml" />
- < batchtest todir = "${project.junit.output}" >
- < fileset dir = "${project.build.tmpdir}" >
- < patternset refid = "project.junit.exclude" />
- </ fileset >
- </ batchtest >
- </ junit >
- < echo message = "Running TestCase End" />
- </ target >
- < target name = "report" depends = "testunit" >
- < echo message = "Report Begin" />
- < junitreport todir = "${project.junit.output}" >
- < fileset dir = "${project.junit.output}" >
- < include name = "TEST-*.xml" />
- </ fileset >
- < report todir = "${project.junit.output}" format = "frames" />
- </ junitreport >
- < echo message = "Report End" />
- </ target >
- < target name = "openFile" >
- < taskdef name = "browseURL" classname = "com.hd.testunit.AntOpenCommand" >
- < classpath path = "${classpath}" />
- < classpath location = "${project.build.tmpdir}" />
- </ taskdef >
- < browseURL fileUrl = "${project.junit.output}/index.html" />
- </ target >
- < target name = "compile" depends = "compileSRC, compileTEST" >
- < echo message = "Compile successful." />
- < antcall target = "copyfile" />
- </ target >
- < target name = "main" depends = "init,compile,report,openFile,destroy" >
- < echo >
- date:${date}
- </ echo >
- </ target >
- </ project >
发表评论
-
[转:]jQuery焦点中国地图
2013-04-17 11:05 1684转自:http://xiaoyaosr.blog.51cto ... -
一个轻量级的网页遮罩层jQuery插件
2012-11-14 17:48 6368一个轻量级的网页遮罩层jQuery插件 分 ... -
通过Spring Mail Api发送邮件
2012-11-14 17:47 1440通过Spring Mail Api发送邮件 ... -
jquery.validate
2012-11-09 16:51 1070jquery.validate 需要JQuery ... -
Hibernate commit() 和flush() 的区别(转)
2012-09-28 09:46 2632Hibernate commit() 和flush( ... -
maven3.0.2下settings.xml配置下(转)
2012-09-25 19:14 5940maven3.0.2下settings.xml配置下 ... -
hibernate中Qurey类的setDate方法自动截掉时分秒——setDate和setTimeStamp(转)
2012-09-03 10:30 3077原帖地址:http://www.iteye.com/to ... -
Maven3.0.3的环境变量配置
2012-07-19 11:22 3031转自http://hi.baidu.com/douxinchu ... -
转:org.apache.catalina.core.JreMemoryLeakPreventionListener解决办法
2012-07-18 15:38 5524转自:http://blog.csdn.net/ang ... -
eclipse中的java文件图标j成空心
2012-07-06 10:06 13552eclipse中的java文件图标j成空心 ... -
jQuery - Ajax - readyState获取请求操作的当前状态
2012-06-29 14:46 0jQuery - Ajax - readyState获取请求 ... -
Dom加载判断,兼容所有浏览器
2012-06-29 14:35 9210Dom加载判断,兼容所有浏览器 Dom 加载完毕,兼容 ... -
document.readyState几种状态及示例
2012-06-29 14:33 2000document.readySta ... -
DOM Ready 详解
2012-06-29 14:03 3088转自:http://www.cnblogs.com/zhang ... -
转】js实现另存为的方法
2012-06-29 13:42 2916转】js实现另存为的方法 本文转自http://www ... -
js添加和去除千分号
2012-06-22 11:41 2126利用js的replace方法和正则表达式实现 1 ... -
Hibernate的游离态与持久态转换(转)
2012-06-18 10:30 5224本文转自:http://blog.csdn.net/sdban ... -
maven继承parent,relativePath warn信息的解决办法
2012-06-11 17:12 26008转自:http://blog.sina.com.cn/s/bl ... -
使用Maven管理Eclipse Java项目
2012-06-11 17:10 1069转自:http://www.blogjava.net/lost ... -
The parent project must have a packaging type of POM
2012-06-11 17:09 25257The parent project must ha ...
相关推荐
下面我们将详细探讨JUnit单元测试和Ant自动构建脚本的相关知识点。 首先,让我们了解一下JUnit。JUnit是一个开源的测试框架,它基于xUnit架构,提供了一套简单的API来创建和运行测试用例。开发者可以通过注解(如@...
3. **构建工具集成**:JaCoCo支持Maven、Gradle、Ant等多种构建工具,可以在构建过程中自动执行测试并生成覆盖率报告。 4. **IDE集成**:JaCoCo还可以与Eclipse、IntelliJ IDEA等IDE集成,直接在开发环境中查看覆盖...
JUnit是一个开源的Java测试框架,它简化了编写和运行单元测试的过程。此外,JUnitParams是一个扩展库,允许我们将测试数据作为参数传递给测试方法,提高了测试的可读性和可维护性。 在Java单元测试中,黑盒测试是一...
2. **配置JaCoCo**:在构建脚本中配置JaCoCo插件,指定覆盖率报告的输出位置、是否生成执行数据等。 3. **编写单元测试**:使用JUnit、TestNG等测试框架编写单元测试,确保覆盖到项目的主要逻辑。 4. **运行测试并...
10. **持续集成**:将自动化测试脚本与持续集成工具(如Jenkins)集成,实现自动化的构建和测试流程。 通过学习和实践这些示例,开发者可以更深入地理解和掌握Selenium的使用,提升自动化测试能力。同时,对于团队...
本文将深入探讨Java自动化测试框架的核心概念、常用工具以及如何构建一个基本的自动化测试流程。 首先,我们要理解自动化测试的重要性。在软件开发中,手动测试虽然直观,但耗时且容易出错。自动化测试通过编写可...
2. **脚本语言**:大多数压力测试工具支持自定义脚本语言,例如JMeter使用Java语法的Groovy或BSF脚本,LoadRunner有其专有的Vuser脚本语言。开发者需要掌握这些语言来编写复杂的测试逻辑。 3. **负载模拟**:脚本...
4. **构建脚本**:如Maven的pom.xml或Gradle的build.gradle,用于构建和运行测试。 5. **README**:提供关于如何运行项目的简要说明。 通过这个资源,你可以学习到: - 如何使用JUnit或其他测试框架(如TestNG)...
Java自动化测试是软件开发过程中一个重要的环节,它利用编程语言如Java来实现测试脚本,以提高测试效率,减少人工错误,并确保软件质量。在Java自动化测试中,我们通常会用到一系列工具和技术,包括单元测试、集成...
自动化测试是IT行业中提高效率和减少人力成本的重要手段,尤其在软件开发的测试阶段。"自动化测试用例脚本"是指编写的一...学习并掌握这些知识点,将有助于构建高效、可靠的自动化测试框架,提升软件测试的质量和效率。
【自动构建在软件开发中的重要性】 在软件开发过程中,自动构建是一个至关重要的环节,它能够帮助团队提高效率,减少人为错误,确保...同时,通过自动构建脚本实现了SVN仓库的同步和提交通知,确保团队的高效协作。
测试金字塔是一种最佳实践,提倡构建一个以单元测试为基础,集成测试为辅助,端到端测试为顶层的测试结构。这样可以确保大部分测试是快速且可重复的,同时保持测试的全面性。 九、代码覆盖率工具 为了测量测试覆盖...
**Java**: Java是一种广泛使用的面向对象的编程语言,以其跨平台的特性闻名,非常适合编写自动化测试脚本。在自动化测试中,Java提供了丰富的类库和API,可以方便地创建和执行测试用例。 **Selenium**: Selenium是...
Java项目的自动化构建、打包和部署是现代开发流程中的重要环节,极大地提高了开发效率和产品质量。在本项目中,我们利用Jenkins、Maven、Gitlab和Tomcat这四个工具实现了一个完整的自动化工作流。 首先,让我们来...
通过本篇内容,你将能够掌握一套全面的Java接口自动化测试实战策略。 首先,接口自动化测试整体认知是理解自动化测试的基础。它涉及到测试的目标、范围和价值,例如提高测试效率、降低人工错误和确保产品质量。接口...
Java以其企业级应用的稳定性和广泛的库支持,常被用于构建复杂的自动化测试框架。Python则以其简洁易读的语法和丰富的第三方库,成为快速实现自动化测试脚本的首选语言。 以下是这些关键词所涵盖的知识点: 1. **...
通过在 Ant 构建脚本中整合 JUnit,可以自动化测试过程,确保代码在构建阶段就能得到充分验证。 以下是一般的步骤: 1. **安装和配置**:首先确保已安装 Ant 和 JUnit,将 JUnit 库添加到 Ant 的 classpath 中。 2...
2. **Ant**:Ant是一款流行的构建工具,可以用来编译Java代码和执行单元测试。 3. **StrutsTestCase**:专门用于测试基于Struts框架的Action类,简化了测试过程。 4. **EasyMock**:一个强大的Mock框架,用于模拟...