InfoQ

新闻

JUnit尚未消亡

作者 Craig Wickesser译者 张龙 发布于 2008年8月18日 上午1时34分

社区
Java
主题
单元测试,
发布
标签
TestNG,
JUnit
JUnit是一个面向Java的单元测试框架,它已经有好几年的历史了。最初它是由Kent BeckErich Gamma创建的,现在由社区维护并且最近发布了JUnit 4.5。最近几年由JUnit引领的xUnit家族有了长足的发展,诞生了很多项目: 即使JUnit有着多年的开发成果,世界上有无数软件项目都是用了它,仍有些有些人想知道JUnit是否走到了尽头。当一些人或者组织拿不准一个软件项目是否能长期存在时,他们都会求助于web上的一些统计数据。就在本周,Mike撰写了一篇博文说根据搜索引擎的结果,人们对JUnit的“热情”正在降低。尽管最后他说不相信JUnit已死,但是仍表达了JUnit也许正在被超越的观点。一个原因就是更新更好的软件实践促使越来越多的开发者去学习他们。单元测试当然是非常重要而且被广为接受的,然而行为驱动开发(behavior driven development)、mock对象和具备更多新特性的单元测试框架开始走向人们的视野。

经常被人们拿来与JUnit进行比较的框架是TestNG,它的灵感来源于JUnit。Michael Minella提供了一个JUnit和TestNG的简洁但有用的对比表。

特性 JUnit TestNG
用户自定义生命周期 check check
测试的组织(组等等)   check
分布式测试   check
并行测试   check
数据驱动测试   check
依赖测试   check
IDE集成 check check
Ant集成 check check
Maven集成 check check
特定领域的扩展(数据库、HTTP等) check  
活跃的社区 check check
来源


为了总结其想法,他采用了JUnit并对其进行了比TestNG更多的扩展,然而TestNG似乎提供了更多的功能,它还可以调用JUnit测试,这使其成为测试框架的一个诱人之选。

总之,JUnit不再像一年前那么辉煌了,但是它真的在走向“辉煌的明天”吗?你怎么想,JUnit的未来如何?

查看英文原文:JUnit Still Not Dead

4 条回复

回复

或许会成为历史 发表人 weihong hu 发表于 2008年8月18日 下午9时32分
Re: 或许会成为历史 发表人 li yao 发表于 2008年8月19日 上午3时6分
JUnit不仅仅是工具,更是一种变成方式 发表人 Juven Xu 发表于 2008年8月20日 上午8时20分
工具, 思想, 永恒 发表人 WeiYao Chen 发表于 2008年8月20日 上午11时33分
  1. 返回顶部

    或许会成为历史

    2008年8月18日 下午9时32分 发表人 weihong hu

    2002年开始接触Junit,是个好东西。但是感觉国内开发商用的比较少。

  2. 返回顶部

    Re: 或许会成为历史

    2008年8月19日 上午3时6分 发表人 li yao

    用的很多,只是用的好的几乎没有!

  3. 返回顶部

    JUnit不仅仅是工具,更是一种变成方式

    2008年8月20日 上午8时20分 发表人 Juven Xu

    从实践角度说,JUnit代表了一个理念,所以它是不会消亡的。
    我更喜欢TestNG,它更强大,但是,TestNG也是因为学习了很多JUnit的东西。

  4. 返回顶部

    工具, 思想, 永恒

    2008年8月20日 上午11时33分 发表人 WeiYao Chen

    狭义上JUnit只是Java单元测试的工具.
    但是其在单元测试上的突出贡献, 和其本身精妙的设计都堪称经典.

    对于一个开发者, JUnit更是学习单元测试思想和设计模式的一个很好的教材.

独家内容

剖析短迭代

敏捷教练Dave Nicolette提出:我们应该如何设定迭代长度?是要根据发布周期的时间么?使用短迭代又有哪些好处?

应用JSF、Ajax和Seam开发Portlets(1/3)

本文主要讲述了如何用JBoss Portlet Container 和JBoss Portlet Bridge创建新项目,怎样配置一个JSF应用去使用JBoss Portlet Bridge,以及JBoss Portlet Bridge所具备的功能。

AtomServer:数据分发的发布动力(第二部分)

在这篇文章里,Bryon Jacob和Chris Berry将和我们继续探讨AtomServer,它是基于Apache Abdera的完整Atom存储实现。作者还创建了几个Atompub规范扩展,其中包括自动标记、批处理和Feeds聚合。

架构师(试刊第二期)

InfoQ中文站的电子杂志《架构师》试刊第二期出版了!相比于上期,我们在内容的选择安排和版式上都根据读者的意见重新做了修正。“细节决定成败”,我们希望基于InfoQ中文站的专业内容,《架构师》能逐渐成为大家喜欢的电子刊物!

一种正规的性能调优方法:基于等待的调优

在本文中,Steven Haines探讨了Web应用性能调优问题。该领域过去更像是一门艺术而不是一门科学。他提出了一种称为基于等待调优的方法,使整个调优过程更加可度量,也因此更具科学性。

Java程序员ActionScript 3入门

通常来说,改变技术路线时最艰难的部分是辨别语言语法之间的不同。这篇文章就为Java开发者提供了一份如何转向Flex基础语言ActionScript的指南。

浅谈如何创建Rails应用

本视频主要以财帮子为例,介绍了如何创建一个PV为百万级的Rails应用。其中包括:Rails应用的服务器架构、Rails Cache的优化、负载均衡的处理、Web服务器的调试、分布式解决方案、Open API的设计等等。

Alexandru Popescu谈InfoQ.com网站架构

InfoQ首席架构师Alexandru Popescu在采访中谈论了InfoQ架构、Webwork与DWR、Hibernate与JCR、Hibernate可扩展性、最新的InfoQ视频流系统和InfoQ的未来规划。