我读过一些比较JUnit and TestNG看起来 TestNG 有更多的配置选项。另一方面,JUnit 更受 IDE、构建工具的支持,拥有更多的插件。
我没有编写单元测试的经验。我应该选择哪种工具?
附:
我认为我的问题更像是:我应该尝试 TestNG,还是像其他人一样坚持使用 JUnit?
附:
我们开发Web应用程序,所以我认为选择也应该考虑到我们稍后会使用Selenium进行功能测试。
TestNG 的编写是为了克服 JUnit 3 的一些明显限制。查看 Cedric 的博客文章 http://beust.com/weblog/2004/02/08/junit-pain/或其他文章测试NG站点 http://testng.org/doc/index.html来看看他的想法。
请注意,JUnit 3 的一些限制是按设计TestNG 故意允许您做 JUnit 设计者明确禁止的事情。
TestNG 相对于 JUnit 3 的最大优势是它允许您使用注释来定义测试,而不是强迫您扩展 JUnit 基类。 JUnit 4 现在也可以以同样的方式使用注释,缩小差距。
TestNG 和 JUnit 之间最大的区别是 TestNG 允许您的测试相互依赖,并允许您通过测试注释来表达这些依赖关系。相反,JUnit 强制所有测试相互独立。
当然,还有其他差异 – TestNG 默认为assertEquals(actual, expected, message)
而 JUnit 是assertEquals(message, expected, actual)
——但这是最大的。
我会说:选择一个,然后尝试一下。写一些测试。两者都可以与 Selenium 配合使用。两者都可以与 ant 配合使用。两者都可以与 CruiseControl 或 Hudson 配合使用。学习编写好的单元测试比学习一组特定的命令重要得多(无论如何它们非常相似)。
在我看来,TestNG 拥有更多的功能和更少的限制,但这当然也给了你更多出错的机会。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)