技术开发 频道

JUnit VS TestNG 战场上你是哪一方?

       【IT168 技术分析】 JUnit 框架是 Java 语言单元测试当前的一站式解决方案。这个框架值得称赞,因为它把测试驱动的开发思想介绍给 Java 开发人员并教给他们如何有效地编写单元测试。

        TestNG是一种基于注释的测试框架,通过添加诸如灵活的装置、测试分类、参数测试和依赖方法等特性来克服JUnit的一些不足之处。TestNG 的创造者是 Cedric Beust,他在 Java 编程领域非常出名,是 EJB 3 专家组的成员,也是其他一些流行的开源项目(例如 EJBGen 和 Doclipse)的创造者。TestNG 在 Apache 软件许可条款约束下发布,并可从其 Web 站点下载(请参阅 参考资料 中到该站点和 Cedric 站点的链接)。 

        表面看起来,两者是非常相似的。使用方法也都非常的简便。但是从核心设计的出发点而言,两者是不一样的。JUnit一直将自己定位于单元测试框架,也就是说用于测试单个对象。而TestNG定位于更高层次的测试,因此具备了一些JUnit所没有的功能。
       JUnit是一个面向Java的单元测试框架,有着多年的开发成果,有很多项目支撑。TestNG 的灵感来自 JUnit,同时尽量保持后者的简单性;但是,TestNG 消除了老框架的大多数限制,使开发人员可以编写更加灵活、更加强大的测试。
两者的拥趸都是相当庞大。

       Michael Minella提供了一个JUnit和TestNG的简洁但有用的对比表。
       (表格来源: 英文 :http://www.michaelminella.com/blog/2.html 
                         中文:http://www.infoq.com/cn/news/2008/08/junit_not_dead

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

0
相关文章