java - Java现在要学哪个UnitTest框架?

标签 java unit-testing junit testng

<分区>

虽然我已经使用 Java 编程大约 3 年多了(不是日常但至少我了解基础知识),但还没有真正进入单元测试领域...

我的工作现在更多的是面向测试/问题分析,所以我认为一个好的 Java 单元测试框架将对这个角色很有帮助。

显然,在我的团队中没有关于使用哪个框架的正式规则。所以只是想知道,作为初学者,哪个框架是快速入门的好框架?

联合?

测试NG?

还是别的?

编辑:与 Amazon 上的 TestNG 相比,JUnit 似乎有更多打印书籍作为引用。但目前我不知道它们在 Java 行业中的受欢迎程度/趋势。

最佳答案

我是 TestNG 的创建者和“下一代测试”一书的作者,所以这里有一些(显然有偏见的)想法。

对于功能(或端到端/集成/系统,无论您喜欢什么术语)测试,TestNG 提供了一些 JUnit 没有但用户发现非常有用的功能:

  • 团体。编译完测试后,您可以让 TestNG 运行所有“前端”测试,或“快”、“慢”、“数据库”等...

  • 支持多线程测试。这有两种不同的含义:

1) 您可以告诉 TestNG 在您定义的线程池中同时运行所有测试(XML 文件中的一行更改)。这是非常可配置的,因此非多线程的测试仍然可以在单线程中运行。

2) 您可以告诉 TestNG 从 p 个线程调用您的测试方法 n 次。这让您很好地了解您正在测试的代码的线程安全性。

  • 测试依赖关系和确定性排序。这对于集成测试非常有用,在集成测试中,经常会看到需要先验测试方法才能成功才能运行的测试方法。出于这个特定原因,TestNG 在 Selenium 社区中非常流行(“如果登录测试失败,请不要费心测试我网站的这个页面”)。

测试依赖性的另一个直接优势是 TestNG 可以告诉您“1 个方法失败,跳过 99 个方法”,这比“100 个方法失败”准确得多。

TestNG 有很多很多功能,我很乐意在这里或在我们的邮件列表 (http://groups.google.com/group/testng-users) 上回答问题。

关于java - Java现在要学哪个UnitTest框架?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3411768/

相关文章:

javascript - 如何模拟第三方 React Native NativeModules?

java - 如何使用 JUnit 中的规则访问测试类的字段

java - 如何将值从一个 Java 类复制到具有相同属性的另一个类

java - Android - Google map V2 授权失败。无法加载 map

c# - 在单元测试中使用 StringBuilder 进行 PInvoking

c# - 单元测试抛出异常如何获得100%的覆盖率?

java - JUnit 测试中的警告

java - 为 ElasticSearch 测试用例创建虚拟 SearchResponse 实例

java - Java无效标志错误

java - 如何使用 maven 部署 node.js 应用程序?