java - TestNG 和 JUnit 执行之间的区别

标签 java unit-testing junit testng

我正在研究 JUnit 和 TestNG 之间的差异以及 TestNG 相对于 Junit 的优势。我读到 JUnit 为该类中运行的每个测试方法创建了该类的实例。这里的优点是一个测试方法中的错误不会传播到其他测试方法并使其他测试方法失败。另一方面,TestNG 支持测试集成类,这意味着默认情况下,无需为每个测试方法创建新的测试类实例。

有人可以帮我解决这个问题吗?我无法理解失败的传播。有没有人有一个例子可以清楚地解释这种差异?

问候 斯里尼瓦斯

最佳答案

我使用 JUnit 和 TestNg 很长时间了。我不确定你所指的是什么。所以我提到了 TestNg 我最喜欢的功能。否则它们是可比的。

参数化测试:

JUnit 对于参数化测试来说不是很方便,因为当您使用 @Parametrized 时,测试参数从静态方法传递到测试类的构造函数中。显然,每个类只能有一组参数。因此,在使用参数时,您被迫为每个测试用例创建单独的测试类。 Here is example of such test .

另一方面,TestNg具有@DataProvider的概念,它使您能够在一个测试类中拥有各种参数组。因此,您可以将具有各种参数的各种测试组合到一个测试类中。 Example here .

关于java - TestNG 和 JUnit 执行之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32420810/

相关文章:

java - 如何让 TextView 位于底部中心?

Java:循环遍历 CSV 文件的结果集

java - java 1.4 的 json 库

php - 流明/Laravel : Can't figure out how unittesting a json response works

java - struts2中如何获取xml作为响应

c++ - 我在哪里放置单元测试源并公开内部组件?

java - 如何为测试 junit 测试用例创建 jar?

java - 在 Java 中模拟 JUnit 测试

javafx - Kotlin中尚未使用TestFX初始化lateinit属性xxx

python - 如何修复更改密码 View 的测试(Django REST Framework)?