虽然我已经使用 Java 编程大约 3 年多了(不是日常但至少我了解基础知识),但还没有真正进入单元测试领域...
我的工作现在更多的是面向测试/问题分析,所以我认为一个好的 Java 单元测试框架将对这个角色很有帮助。
显然,在我的团队中没有关于使用哪个框架的正式规则。所以只是想知道,作为初学者,哪个框架是快速入门的好框架?
联合?
测试NG?
还是别的?
编辑:与 Amazon 上的 TestNG 相比,JUnit 似乎有更多打印书籍作为引用。但目前我不知道它们在 Java 行业中的受欢迎程度/趋势。
我是 TestNG 的创建者和“下一代测试”一书的作者,所以这里有一些(显然有偏见的)想法。
对于功能(或端到端/集成/系统,无论您喜欢什么术语)测试,TestNG 提供了一些 JUnit 没有但用户发现非常有用的功能:
1) 您可以告诉 TestNG 在您定义的线程池中同时运行所有测试(XML 文件中的一行更改)。这是非常可配置的,因此非多线程的测试仍然可以在单线程中运行。
2) 您可以告诉 TestNG 从 p 个线程调用您的测试方法 n 次。这让您很好地了解您正在测试的代码的线程安全性。
- 测试依赖关系和确定性排序。这对于集成测试非常有用,在集成测试中,经常会看到需要先验测试方法才能成功才能运行的测试方法。出于这个特定原因,TestNG 在 Selenium 社区中非常流行(“如果登录测试失败,请不要费心测试我网站的这个页面”)。
测试依赖性的另一个直接优势是 TestNG 可以告诉您“1 个方法失败,跳过 99 个方法”,这比“100 个方法失败”准确得多。
TestNG 有很多很多功能,我很乐意在这里或在我们的邮件列表 (http://groups.google.com/group/testng-users) 上回答问题。