版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、JA V A 自动化单元测试工具 Junit Factory使用介绍(开发人员不再需要编写 Junit 测试用例最近在 PassPort 项目中,很多开发人员都采用了 Junit 作为单元测试工具,保证代码质量,所 以我最近研究了 agitar 公司的一种免费的 junit 自动生成的工具 -junit factory, agitar 公司有一套 更优秀的商业软件 -自动化单元测试工具 agitarone 。Junit 是 JA V A 开发中应用最多的单元测试框架, 部门内部也逐渐普及到各个项目开发中, 虽 然 Junit 测试框架易学易用, 但是还是在保证代码质量的同时增加了开发人员的代码
2、工作量, 需要拿出部分时间编写 Junit 测试代码。 Junit Factory就能更好的提高单元测试效率!原理:Junit Factory和 agitarone 的一项关键技术就是 software agitation,它可以为你自动创建各种测试 用例(实际测试必须要测试每一行、每一条分支、甚至每一种输出 ,而且自动创建的过程 是通过对代码的 agitation , (一种基于 java 二进制代码的分析, 可以自动得出需要测试的东东 后跟开发者交互来完成的。 agitation 的这种技术是基于服务器并且是分布式的,可以远程使 用,并可以利用多个服务器来完成。安装:Junit Facto
3、ry 是可以作为 eclipse 插件使用的,也可以和 ant 一起使用。部门内主要开发工具是 eclipse ,所以介绍如何在 eclipse 下用 Junit Factory生成 Junit 单元测试用例!Download :1. Eclipse, 选 Help ,选 Software Updates ,点 Find and Install ;2. 选择“ Search For New Features to Install” 然后“ Next ” ;3. 选 New Remote Site ;4. 输入一个 JUnit Factory网站的注册用户名 ;5. 输入 url : ;6. 安
4、装所有 plug-ins ;7. 重新启动 eclipse ;使用:安装完成后会在 eclipse 的工具条中出现 Generate Tests和 Generate Dashboard两个按钮,使用 Generate Tests生成 Junit 单元测试用例, 使用 Generate Dashboard查看包或者项目的单元测 试结果和带代码分析报告(利用 Crap4J 进行代码分析,得到 Fail 数量、 Pass 数量、覆盖率、 代码规范错误、 Risk Classes等等 。操作很简单,不详述!如图 1源码和生成的 Junit 测试代码举例源码源码:/*Instructions:1. En
5、ter (or paste some code2. Hit "Generate a Test"3. Your test will appear in the queue on the right of the page(or you can just 'Generate a Test' for this class*/package demo;public class LeapYear public static boolean isLeapYear(int year if(year < 1throw new IllegalArgumentExcept
6、ion(;if(year % 400 = 0return true;if(year % 100 = 0return false;if(year % 4 = 0return true;return false;生成的 Junit 测试代码:/* Generated by Agitar build: JUnitFactory V ersion 2.2.0.000710 (Build date: Jan 15, 2008 2.2.0.000710* JDK Version: 1.6.0_01* Generated on Mar 14, 2008 2:33:28 AM* Time to generat
7、e: 00:10.863 seconds*/package demo;import com.agitar.lib.junit.AgitarTestCase;public class LeapYearAgitarTest extends AgitarTestCase public Class getTargetClass( return LeapYear.class;public void testConstructor( throws Throwable new LeapYear(;assertTrue("Test call resulted in expected outcome&
8、quot;, true;public void testIsLeapYear( throws Throwable boolean result = LeapYear.isLeapYear(100;assertFalse("result", result;public void testIsLeapYear1( throws Throwable boolean result = LeapYear.isLeapYear(1;assertFalse("result", result;public void testIsLeapYear2( throws Thr
9、owable boolean result = LeapYear.isLeapYear(4;assertTrue("result", result;public void testIsLeapYear3( throws Throwable boolean result = LeapYear.isLeapYear(2;assertFalse("result", result;public void testIsLeapYear4( throws Throwable boolean result = LeapYear.isLeapYear(10000;ass
10、ertTrue("result", result;public void testIsLeapYearThrowsIllegalArgumentException( throws Throwable try LeapY ear.isLeapY ear(0;fail("Expected IllegalArgumentException to be thrown" catch (IllegalArgumentException ex assertNull("ex.getMessage(", ex.getMessage(;assertThr
11、ownBy(LeapYear.class, ex;Demo 地址:用户可以到这个 Demo 地址中输入任何代码来查看生成的 Junit TestCase 。Generate Dashboard 可以输出 Junit TestCase 的运行结果和代码分析报告(可以点击 eclipse 中 JUnit Factory视图中的 View Dashboard来打开浏览器显示代码分析报告 ,如图 2另外, 查看 Dashboard 时, 在浏览器中把 index.html 换成 dashboard.xm 能看到很多详细数据! (这 个需要查看者熟悉 XSLT 最好如图 3注意:我有一个想法,因为 Junit Factory 是可以和 ant 一起协作的,我觉得可以利用每日构建系统 Build System ,把 Junit 与 Build System 结合,独立成为一个服务器。下班时开发人员将当天 开发代码提交到 SVN 的 test 分支下, 由 Build System在夜间 download SVN服务器上的代码, 并 且利用 Junit Factory生成 Junit TestCase, 并且执行测试, 这样第二天早晨开发人员就可以看到 前一天代码的测试结果和分析报告,知道测试用
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024-2025学年度机械设备制造修理人员全真模拟模拟题1套附答案详解
- 2024-2025学年大连汽车职业技术学院单招《语文》真题附参考答案详解(综合题)
- 2024-2025学年度电工通关题库及完整答案详解一套
- 2024-2025学年医学检验(士)过关检测试卷附参考答案详解(综合题)
- 2024-2025学年咨询工程师通关考试题库【模拟题】附答案详解
- 2024-2025学年度护士资格证综合提升测试卷附参考答案详解(综合题)
- 鼻中隔偏曲的物理治疗护理
- 2024-2025学年医师定期考核练习题带答案详解(考试直接用)
- 2024-2025学年化验员考前冲刺练习题及答案详解【全优】
- 就项目合作事宜的确认函6篇范本
- 儿科学硕士26届考研复试高频面试题包含详细解答
- 2026年安徽工贸职业技术学院单招综合素质考试题库含答案详解(模拟题)
- 2026天津市宝坻区招聘事业单位29人笔试备考题库及答案解析
- 2025山西大同市供水排水集团有限责任公司招聘25人笔试历年常考点试题专练附带答案详解
- 20.4 电动机 课件(内嵌视频) 2025-2026学年人教版物理九年级全一册
- 2025-2030高端数控刀具制造行业市场需求现状分析评估竞争规划发展报告
- 2026届广东华南师大附中数学高一下期末达标检测模拟试题含解析
- 家政保洁服务标准化手册
- 2026公务员考试题及答案 行测 真题
- 《TICW26-202366kV到500kV电缆线路交叉互联及接地用电缆》
- 小学美术第6课 飞天(一) 课件 课件
评论
0/150
提交评论