JUnit 尚未消亡

  • Craig Wickesser
  • 张龙

2008 年 8 月 18 日

话题:JavaDevOps语言 & 开发文化 & 方法

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
用户自定义生命周期
测试的组织(组等等)  
分布式测试  
并行测试  
数据驱动测试  
依赖测试  
IDE 集成
Ant 集成
Maven 集成
特定领域的扩展(数据库、HTTP 等)  
活跃的社区
来源
为了总结其想法,他采用了 JUnit 并对其进行了比 TestNG 更多的扩展,然而 TestNG 似乎提供了更多的功能,它还可以调用 JUnit 测试,这使其成为测试框架的一个诱人之选。

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

查看英文原文:JUnit Still Not Dead

JavaDevOps语言 & 开发文化 & 方法