InfoQ

InfoQ

新闻

我的书签

登录注册 以永久保存书签。

该内容已经被标记书签!

标记书签错误,请重试!

JUnit尚未消亡

作者 Craig Wickesser 译者 张龙 发布于 2008年8月18日

领域
运维 & 基础架构,
过程 & 实践,
语言 & 开发
主题
发布 ,
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

译者 张龙 热衷于编程,乐于分享,对新技术有强烈的探索欲,对Java轻量级框架有一定研究。

或许会成为历史 发表人 胡 伟红 发表于
Re: 或许会成为历史 发表人 yao li 发表于
JUnit不仅仅是工具,更是一种变成方式 发表人 许 晓斌 发表于
工具, 思想, 永恒 发表人 Chen WeiYao 发表于
  1. 返回顶部

    或许会成为历史

    发表人 胡 伟红

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

  2. 返回顶部

    Re: 或许会成为历史

    发表人 yao li

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

  3. 返回顶部

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

    发表人 许 晓斌

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

  4. 返回顶部

    工具, 思想, 永恒

    发表人 Chen WeiYao

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

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

深度内容

大规模视频网站的计费与流量管理

本次分享将会就大规模视频网站的计费与流量管理这个话题,从操作层面细细进行讲解和分析,为系统工程师们揭示平日里我们没有关心的另一些内容。同时也希望本次分享能揭示行业中的一些“潜规则”,让互联网行业的流量与带宽管理更为开放与简洁。
本次演讲视频录制于QCon杭州2011

专访Jeffrey Richter:Windows 8是微软的重中之重

Jeffrey Richter以其多本Windows核心技术的经典著作而闻名,同时,他深入掌握微软的.NET等一系列核心技术,2012年1月,Jeffrey Richter在北京接受了InfoQ中文站的专访,谈到Windows 8和WinRT编程,并就异步编程、Windows编程中的可扩展性、性能和安全性方面给出自己的建议。

应用云平台的可用性——从新浪SAE看云平台设计

云计算平台的可用性,相比传统互联网服务而言,更加复杂和困难,也更具有挑战性。本文借助新浪SAE云平台为读者讲述了云平台可用性的定义、如何打造高可用的平台,以及对云计算的用户提出了建议。

JVM定制改进 @ 淘宝

淘宝高度重视Java平台的健康发展,组建了一个团队专注于Java平台的底层部分的性能、功能与稳定性改进;工作主要基于OpenJDK中的HotSpot VM开展,其中一些通用的功能随后也会逐渐反馈给OpenJDK社区。希望能与使用Java平台开发应用的大家交流经验。
本次演讲视频录制于QCon杭州2011

"伤得起"的云计算应用——对云端应用之架构的思考

2011年4月21日至22日是值得云计算从业者纪念的日子。Amazon的IaaS服务出现故障,导致许多商业网站的服务中断,影响非常严重。作为云计算用户,我们需要思考的是,如何保证即便在云服务不可用的情况,我们的应用架构仍然能够屹立不倒?本文正是站在云计算用户的角度试图探讨这一问题。

让交付的速度跟上思考的速度

12人的技术团队,4组刀片服务器,每月20亿的访问量,每日1次准时部署,99.9%的可用性。这可能吗?当然。想知道如何做的吗?百姓网将与您分享他们在DevOps实践过程中的经验和技巧。
本次演讲视频录制于QCon杭州2011

架构之路——穿行在产品和业务之间

篱笆作为一家起源于社区的电子商务公司,反映到技术层面就是同时要面对产品和业务,以及经营战略的变化调整。如何在产品和业务的夹缝之间完成技术架构的抽象与平衡,寻找更有效的价值定位,这当中有些经验教训和个人感悟愿与众人分享。
本次演讲视频录制于QCon杭州2011

特性注入:成功三部曲

本文将对特性注入以及相关方法做一个扫盲性的介绍。我们会解释这个框架的关键要素,并附上实例来证实它们。为了让文章保持相对较短,我们不会深入到某个工具或方法中,而是会给出一些参考资料,以便大家做进一步的研究。