电信主站 网通分站
购买流程 付款方式 常见问题 在线提问 续租服务 购物车
用户名: 密 码: 忘记密码?
首 页
域名注册
虚拟主机
双线主机
服务器租用
VPS主机
企业邮局
代理专区
客服中心
虚拟主机行业资讯 虚拟主机评测对比 互联网最新动态 技术学院 站长资讯 在线教程 网站运营
搜索优化 服务器 网络编程 图形图象 站长之家 网页制作 操作系统
冲浪宝典 软件教学 视频通信 办公软件 邮件系统 网络安全 认证考试
您当前位置:西部数码->资讯中心-> 在线教程-> JSP教程
JUnit测试程序-JSP教程,Java技巧及代码
作者:网友供稿 点击:19
  西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!虚拟主机可在线rar解压,自动数据恢复设置虚拟目录等.虚拟主机免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金!
文章页数:[1] 
junit测试程序编写规范


一、 程序命名规范

1.测试类的命名

测试类的命名规则是:被测试类的类名+test

比如有一个类叫irgsrhdelegate,那么它的测试类的命名就是irgsrhdelegatetest



2.测试用例的命名

测试用例的命名规则是:test+用例方法名称

比如要测试的方法叫updatedata,那么测试用例的命名就是testupdatedata

(说明:“用例方法”就是指被测试的类中所包含的方法,而“测试用例”就是指测试类中所包含的方法)

比如irgsrhdelegate中有一个方法叫做findbyirgfindparam,那么在irgsrhdelegatetest中对应的测试用例名称就是testfindbyirgfindparam。



3.其它命名规范

本规范未说明的其它命名规范请参照《java语言编码规范》(eno-w063-java coding rule.doc)。



二、 测试程序的包名定义规范

为了保持测试程序的独立和稳定性,请按照下面的方式组织测试程序:

假如被测试类的包名是com.wistrons.util,那么测试类的包名就是test.com.wistrons.util。也就是说在被测试类的包名前加上“test.”,这就是测试类的包名。



三、 测试数据的准备方案

准备测试数据时有三种方案可以选择。

1.在程序中直接写入测试数据

在要输入的数据项不多的情况下可以采用这种方式



2.使用junitpack包中的inputdatautil工具类

(要使用这个工具,请在测试程序中加上import junitpack.inputdatautil)

这种方法要求把测试数据写在一个xml文件中,xml的格式如下所示:

<?xml version="1.0" encoding="utf-8"?>

<inputs>

<input>

<irgcd>h0001</irgcd>

<irgname></irgname>

<irgkname></irgkname>

</input>

<input>



</input>



</inputs>

在这个xml文件中的根节点为inputs,根节点下可以有多个input节点。每个input节点代表一个case中需要的所有数据。

使用这个工具类的操作步骤如下:

1) 获取xml的存放路径。

请把写好的xml存放在测试类所在的目录中,然后可以按如下方式取得xml的存放路径:

string xml = irgsrhdelegatetest.class.getresource(".").tostring() +"test.xml";



2) 创建inputdatautil的实例。

inputdatautil inpututil = new inputdatautil();



3) 在inputdatautil实例中设置接受数据的类名,inputdatautil将此类与xml进行数据绑定。

inpututil.setclassname("jp.co.liondor.common.fz25irgsrh. seekirgsrhopt");



4) 调用inputdatautil.parse()方法,从xml中采集数据

java.util.vector vector = (java.util.vector) inpututil.parse(xml);



5) 从vector中取出被绑定类的实例

for (int i = 0; i < vector.size(); i++) {

seekirgsrhopt opt = (seekirgsrhopt) vector.get(i);



}



现在对inputdatautil的工作原理进行说明。inputdatautil会根据input节点下的子节点名来设置被绑定的类中对应的set方法,然后把xml中的数据设置到被绑定类中。比如上例xml中,input节点下有三个子节点:irgcd、irgname、irgkname。那么在调用inputdatautil.parse()方法时,inputdatautil就会分别调用seekirgsrhopt类的setirgcd()、setirgname()、setirgkname()方法,把数据设置到seekirgsrhopt的实例类中,并返回包含这些实例类的vector对象。



3.使用digester

(要使用这个工具,请在测试程序中加上import org.apache.commons.digester.digester)

digester是apache提供的一个工具类,上面的inputdatautil也是从digester类继承的。当使用inputdatautil暂时无法解决的时候,可以直接使用digester。

使用digester的步骤如下:

1) 获取xml的存放路径。

获取方式与使用inputdatautil相同。



2) 创建digester的实例。

digester dig = new digester();



3) 设定与inputs节点绑定的类为vector

dig.addobjectcreate("inputs", "java.util.vector");



4) 设定与input节点绑定的类

dig.addobjectcreate("inputs/input",

" jp.co.liondor.common.fz25irgsrh. seekirgsrhopt ");

5) 根据input节点下的子节点,依次设定相应的set方法

dig.addcallmethod("inputs/input/ irgcd ", "setirgcd ", 1);

dig.addcallparam("inputs/input/ irgcd ", 0);



6) 设定向vector中加入数据的方法

dig.addsetnext("inputs/input", "add");



7) 调用digester.parse()方法,从xml中采集数据

java.util.vector vector = (java.util.vector) dig.parse(xml);



8) 从vector中取出被绑定类的实例

for (int i = 0; i < vector.size(); i++) {

seekirgsrhopt opt = (seekirgsrhopt) vector.get(i);



}



digester的用法非常灵活,可以组织非常复杂的数据。

关于digester的详细用法请参考http://jakarta.apache.org/commons/digester/。





四、 对ui测试的原则

对ui做单元测试必须做到不能牵涉到业务逻辑操作(比如数据库操作、与server的交互)。否则就是ui的设计不合理。对ui的单元测试应该非常单纯,就只是测试界面的动作是否符合设计要求。



五、 测试数据的覆盖率

测试时所准备的测试数据要覆盖程序中所有可能出现的case。



六、 测试记录

记录测试的过程和结果,请使用log4j工具。



七、 测试粒度

选择测试粒度的原则:

1) 被测试类中所有public、protected方法都要测到。

2) 对于简单的set和get方法没有必要做测试。


文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
相关主题
文章页数:[1] 
Google
热门文章
·IReport与JasperReport开发详解一-JSP教程,Java技巧及代码
·JSTL(JSP标准标签库)介绍-JSP教程,资料/其它
·格式化输入日期时间控件 JieFormattedDateBox-JSP教程,Java技巧及代码
·JSTL简化JSP编码-JSP教程,Jsp/Servlet
·JUnit和单元测试入门简介-JSP教程,Java技巧及代码
·从数据库中读取一个图片并保存为一个图片文件-JSP教程,数据库相关
·Java Swing入门基础-JSP教程,Java技巧及代码
·IntelliJ IDEA培训-JSP教程,Java技巧及代码
·通过JSP的预编译消除性能瓶颈-JSP教程,Jsp/Servlet
·Java中利用JMF编写摄像头拍照程序-JSP教程,Java技巧及代码

最新文章
·J2ME中的时间处理方法
·J2ME播放声音流程简介
·J2ME开发之手机键盘使用注意问题
·J2ME 记录管理存储
·MVC模式在j2me项目中的应用(二)
·MVC模式在j2me项目中的应用(一)
·J2ME中使用记录存储系统(RMS)存储信息
·J2ME与MIDP开发(1)
·用简单的J2ME程序测试MIDlet的生命周期
·JAVA基础:提升JSP应用程序的七大绝招


 
 


版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!

特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
  打印  刷新  关闭
返回首页 |关于我们 | 联系我们 | 付款方式 | 创业联盟 | 虚拟主机 | 资讯中心 | 友情链接 | 网站地图

版权所有 西部数码(www.west263.com)
CopyRight (c) 2002~2006 west263.com all right reserved.
公司地址:四川成都市万和路90号天象大厦4楼 邮编:610031
电话总机:028-86262244 86263048 86263408 86263960 86264018 86267838
售前咨询:总机转201 202 203 204 206 208
售后服务:总机转211 212 213 214
财务咨询:总机转224 223 传真:028-86264041 财务QQ:点击发送消息给对方635483282
售前咨询QQ:点击发送消息给对方2182518 点击发送消息给对方241975952 点击发送消息给对方275026793 点击发送消息给对方408235859
售后服务QQ:点击发送消息给对方17708515 点击发送消息给对方307742704 点击发送消息给对方287976517 点击发送消息给对方363783715
《中华人民共和国增值电信业务经营许可证》编号:川B2-20030065号