首页 ┆ 网站地图 ┆ 在线留言 ┆ 游戏资讯 ┆ 资源下载 
设为首页
加入收藏
联系我们
热门关键字: .net应用  操作系统  Dreamweaver  WinRAR  网络推广
高级搜索
您当前的位置: 主页>JAVA专区>J2EE>小谈JavaEE下的测试,附代码!
小谈JavaEE下的测试,附代码!
来源: 发布时间:2008-04-07 发布人: 浏览: 人次   字体: [ ]  
本月的课题是在研发团队中推广Enterprise Java的单元测试,说是单元测试,其实很大程度上是单元测试和验收测试的一个综合产物。在2003年的大连,elian同学就高瞻远瞩的提出我们做的既不是白盒测试,也不是黑盒测试,而是灰盒测试。神人啊。在实践Fit,Selenium,dbunit以及很多xUnit扩展,各有优缺点。
 
看过若干本xUnit方面的书籍,也在项目中实践过,那时我还是个一门心思做研发的坏脾气小子,挺不配合测试人员的工作(但现在许多开发人员对测试人员的态度,我实在是不想提了,要是按照我当年的脾气,非重打100杀威棒并拖出去喂狗不可),后来我迷上了需求管理,再后来我发现真正的让需求不虚的研发方式是:测试驱动开发(Test Driven Development)。
 
有这种豁然开朗的心得,不是在C++的开发环境下,也不是“集尔意意(J2EE,某客户读音)”的开发团队中,而是在使用Rails时。Rails有千般好,我在这里不想细说。有一点是,当你用过了Ruby on Rails 后,你基本上不想再碰java的哪怕一行代码,特别是在用rails做完了单元测试和功能性测试之后。Rails对单元测试和功能性测试的支持,那叫一个绝啊。
 
可是大部分的开发人员不像我这样,可以轻松切换到J2EE之外的平台,所以还是要做JavaEE下的单元测试推广,如果谁想跟我说,用junit啊,我相信他基本上就没有真正的写单元测试。由于过渡的采用了若干的模式、分层。。。要在J2EE开发团队中推单元测试还真不是件易事,更不用说是在那些个“累死了都不应该可怜的”觉着“单元测试是测试人员应该做的事”的开发人员的团队中推广了。
 
其实路子是已经成熟了的,主要的问题是谁也不愿意费力,潜台词是:我宁愿重启若干次服务器来调试,我宁愿reopen若干次bug,也不愿意接触“新”玩意.这玩意新吗?这玩意真得浪费了你宝贵的时间吗?做程序员做到这个份上,真是悲哀。
 
其实也难怪,看一下一段java代码:
import java.util.List;
import java.util.ArrayList;
class Erase {
private List filterLongerThan(List strings, int length) {
List result = new ArrayList();
for (int i = 0; i < strings.size(); i++) {
String s = (String) strings.get(i);
if (s.length() <= length) {
result.add(s);
}
}
return result;
}
public static void main(String[] args) {
List names = new ArrayList();
names.add("Ted"); names.add("Fred");
names.add("Jed"); names.add("Ned");
System.out.println(names);
Erase e = new Erase();
List shortNames = e.filterLongerThan(names, 3);
System.out.println(shortNames.size());
for (int i = 0; i < shortNames.size(); i++) {
String s = (String) shortNames.get(i);
System.out.println(s);
}
}
}
要达到同样的效果,用同样运行在java 虚拟机中的groovy脚本再写:
names = ["Ted", "Fred", "Jed", "Ned"]
println names
shortNames = names.findAll{ it.size() <= 3 }
println shortNames.size()
shortNames.each{ println it }
 
别跟我提性能哈,就像当年我用c++写程序时,java开发人员跟我说的那样:现在内存这么便宜,多买点不就行了。
扯远了,J2EE下的单元测试,如果能够跟groovy结合着就好了。

相 关 文 章   发布商链接
·在java中制作使用高级javascript的应...
·Jboss下配置EJB
·亲自手动部署EJB,亲自体验EJB开发流...
·EJB分布处理机制和数据访问对象工厂...
 §最新评论:(评论内容只代表网友观点,与本站立场无关!)
网名: 验证码:  【所有评论】【↑返回顶部
评 分: 12 345
评论内容:(不能超过500字,请自觉遵守互联网相关政策法规。[按 Ctrl+Enter 可直接提交]
注意:请勿在本站发布政治话题、色情及违反法律的内容。
IT知道网 声明:刊登此文章是为了传递更多信息,文章内容仅供参考,转载请注明出处。
推 荐 文 章
·在java中制作使用高级javascr...
·EJB分布处理机制和数据访问对
·亲自手动部署EJB,亲自体验EJB
热 门 文 章
·亲自手动部署EJB,亲自体验EJB...
·Jboss下配置EJB
·EJB分布处理机制和数据访问对...
·在java中制作使用高级javascr...
网站首页 - 关于本站 - 加入收藏 - 网站地图 - 友情连接 - 在线留言 - 联系我们 - 返回顶部
Copyright © 2007 IT知道网.[冀ICP备07026896号]. All Rights Reserved .