版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 污水站安全生产责任制度
- 砖厂安全生产标准化制度
- 商混站绿色生产管理制度
- 充装站安全生产管理制度
- 安全生产宣传站工作制度
- 博物馆安全生产追责制度
- 通信基站信号优化操作手册
- 心灵导航情感教育与人际交往心理测试题2026年修订版
- 粮食工程就业前景研究
- 公司解散清算专项法律合规服务方案
- 话语体系构建的文化自信与叙事创新课题申报书
- 2026年春苏教版新教材小学科学二年级下册(全册)教学设计(附教材目录P97)
- 2026年基因测序技术临床应用报告及未来五至十年生物科技报告
- 服装销售年底总结
- 文物安全保护责任书范本
- 2025公文写作考试真题及答案
- 停电施工方案优化(3篇)
- DB64∕T 1279-2025 盐碱地综合改良技术规程
- 2025年度耳鼻喉科工作总结及2026年工作计划
- 2024年执业药师《药学专业知识(一)》试题及答案
- 统编版语文一年级上册无纸化考评-趣味乐考 玩转语文 课件
评论
0/150
提交评论