Junit的魅力

原创 2004年09月26日 05:29:00

Junit的魅力

http://blog.blogchina.com/article_25255.99548.html

gzeric 于 2004年 09月06日 发表

真正接触Junit,也就是大概3个月前,上头给了个新的头衔我——主持团队里的测试工作,第一个目标就是完善unit testing的制度。Junit几乎是java开发中unit testing的唯一选择,无论是收费的Jbuilder,还是Share的IntelliJ IDEA,甚至是Free的Eclipse都选择集成了Junit。到底是什么东西使Junit散发着如此大的魅力呢?

Unit testing就像是整个Testing工程中的cell,所有测试应该都是base on unit testing的,java的unit testing主要针对的是每个java class的测试。

Junit对每个unit的testing都定义了一个TestCase,这个case理论上是应该针对某一个class,用户可以应自身的需要定义一系列的fixtures,然后根据实际情况编写test method,然后对test result做出相应的assertion。这就是一个比较完整的Junit TestCase了。

Unit testing有一个不成文的方程式,objective test + replicable test = simple test programme,可以看出objective和replicable是unit testing的最关心的两样东西。objective意味着每个TestCase都应该是有目的的,并非人云亦云的“每个class都应该进行unit testing”;replicable则意味着TestCase应该是可重用的。Junit作为一个unit testing的framework,十分好的尊重了这两条原则,很大程度上都由编写TestCase的人员来控制objective特性,而且replicable的方法和API也很大程度地提高了开发人员在编写TestCase上的效率。只要开发人员真正认识到了unit testing的必要性,他就一定会喜欢junit带来的好处,并非单纯的跟风的学习和使用。要知道Junit是能够真正提高开发效率和代码质量的。

在Junit的扩展上,业内有几个相对出名的项目,但我这里想说说的是Cactus和Httpunit。Cactus是针对容器内的一种junit扩展,它把TestCase扩展为JSP、Sevlet和Filter三种形式,然后通过一些特殊的方法(如beginXXX等)来定义一个测试过程,来模拟一系列交互的容器内测试;Httpunit则是定义了一个WebConversation,然后针对web形式的response和request来模拟browser的所有动作以及结果,同样的Httpunit也可以模拟容器内的测试,如servlet的。相比之下,我个人认为Httpunit更加从根本上解决了web形式的测试问题,可以说是更加原始的测试,通过request和response的形式来模拟整个交互过程,而且还提供了对link的测试,应该来说更加容易让用户真切体会到它的优势所在。反倒是Cactus在测试前就必须通过一大轮配置,更加令我苦恼的是用Cactus很难去模拟一个完整的流程,只能够通过多个test method来不断测试各个servlet method,然后只能证明这些methods没有问题,很难说明这些methods串起来后不出问题。

《魔兽世界》的魅力究竟在哪儿?

写在前面:《魔兽世界》(World of Warcraft,后面简称WOW),是由暴雪开发的一款大型角色扮演网络游戏,曾经付费的正式用户一度超过1150万人,覆盖244个国家和地区,是曾经的“世界第一...
  • u012200908
  • u012200908
  • 2016年01月20日 19:30
  • 1929

初识linux和android的魅力

刚开始培训android,从底层linux和C开始讲起。 今天让我了解了很多关于linux和UNIX的历史。真正牛B的程序员,世界上最后一个真正的黑客,Richard Stallman,享有这样的美誉...
  • wudi3111835
  • wudi3111835
  • 2011年07月11日 23:03
  • 756

李开复: 算法的魅力

算法是计算机科学领域最重要的基石之一,但却受到了国内一些程序员的冷落。许多学生看到一些公司在招聘时要求的编程语言五花八门就产生了一种误解,认为学计算机就是学各种编程语言,或者认为,学习最新的语言、技术...
  • u013946585
  • u013946585
  • 2014年08月02日 15:36
  • 477

学习的原动力与开源的魅力

笔者今日读到《鸟哥的Linux私房菜》,突然想写点东西,于是记录下来。 一.学习的原动力 1.兴趣 由此可见兴趣是需要花时间培养的。由此笔者联想到自己的读书计划 先要花时间精力产生自己...
  • czyv587
  • czyv587
  • 2016年08月20日 14:33
  • 561

C++模板的魅力和魔力

本文要解决的问题很好描述,但要想取个对应的标题还真不容易。 任务描述:假设我有一个逻辑线程,这个线程专门用来处理 各种类成员函数的调用。 要求:类类型不限,类成员函数参数类型可以任意。 首先为这...
  • zhoujielunzhimi
  • zhoujielunzhimi
  • 2013年06月05日 10:28
  • 1032

编程语言的魅力之处

接触到的语言 这里只谈印象比较深刻的几种语言,职业生涯中虽是浅尝辄止,细细回味起来,还是收获颇深的 Python,大学里面最先接触的编程是C语言,但最让我下功夫的是Python,做的相对...
  • qq_24122593
  • qq_24122593
  • 2018年01月06日 10:22
  • 122

体验C语言内存操作的魅力之范型

用C语言来实现堆栈的范型,体验C语言的真正魅力。相比C++里的范型,用C语言实现感觉更真切,更踏实,同时体会到了对内存把控的快乐,我想再这样下去我会上瘾。这里面唯一要说的两处:分别是realloc和程...
  • hackmind
  • hackmind
  • 2012年08月24日 17:24
  • 2566

java 源码的魅力

学习一种语言: 最快的方法,就是研究其源代码。 从源代码中能够体会到各种经典的思想! 欣赏一下: 例如: 我们在写一些 冒泡和选择排序的时候用的 交换:   ...
  • love_Javc_you
  • love_Javc_you
  • 2014年07月25日 10:48
  • 1143

香港十大气质男明星

周润发:大气   此君出演的多数电影中,都实难挡其魅力,无论主演客串,都令众多演员望尘莫及。大将之风。    梁朝伟:灵气   不要被他油头粉面或落魄颓废的造型迷离忧郁的眼神所迷惑。实有让观众细细品味...
  • AppleBBS
  • AppleBBS
  • 2005年07月21日 23:20
  • 2253

魅力泸西

这篇文章已经转到tiankonguse.com 的这里晨光映海曙,村郭飘炊烟。地灵也人杰,尧圣亦舜贤。掬月浣云南,柳叶弯弯的眉眼。 泼墨描泸西,恰似眉梢痣一点。 啊~~ 文明、和谐、幸福、美满,...
  • tiankonguse
  • tiankonguse
  • 2014年02月20日 14:47
  • 234
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Junit的魅力
举报原因:
原因补充:

(最多只允许输入30个字)