java - JUnit 与 TestNG

标签 java testing junit testng

在工作中,我们目前仍在使用 JUnit 3 来运行我们的测试。我们一直在考虑切换到 JUnit 4 来编写测试,但我已经关注 TestNG 有一段时间了。你们都有哪些使用 JUnit 4 或 TestNG 的经验,并且对于大量测试似乎更有效?编写测试的灵 active 对我们来说也很重要,因为我们的功能测试涵盖了广泛的方面,需要以多种方式编写才能获得结果。

旧的测试不会被重写,因为它们可以很好地完成工作。不过,我希望在新测试中看到的是编写测试方式的灵 active 、自然断言、分组以及易于分布的测试执行。

最佳答案

我都使用过,但我必须同意 Justin Standard 的观点,即您不应该真正考虑将现有测试重写为任何新格式。不管决定如何,运行两者都是微不足道的。 TestNG 力求比 JUnit 更具可配置性,但最终它们都运行良好。

TestNG 有一个简洁的功能,您可以将测试标记为特定组,然后轻松运行特定组的所有测试,或排除特定组的测试。因此,您可以将运行缓慢的测试标记为“慢”组,然后在需要快速结果时忽略它们。他们文档中的一个建议是将某些子集标记为“ checkin ”测试,每当您 checkin 新文件时都应运行该测试。我从未在 JUnit 中看到过这样的功能,但话又说回来,如果你没有它,你就没有真的很想念它。

尽管它声称拥有高配置,但几周前我确实遇到了一个极端情况,我无法做我想做的事......我希望我能记住它是什么,但我想提出来,让你知道它并不完美。

TestNG 的最大优势是注释......无论如何,JUnit 在版本 4 中添加了这些注释。

关于java - JUnit 与 TestNG,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6658/

相关文章:

java.lang.ClassCastException : java. util.ArrayList

java - 该代码原本应该反转第一个参数给出的字符串,但是它存在编译错误

java - 是否对独立 swing 应用程序中的所有字段使用 private 修饰符?

javascript - react : How mock functions and test component rendering with jest:

testing - Linux设备驱动程序功能测试

java - Spring Boot 1.4.2,hibernate 5.2.3,版本库的Junit Test,@DataJpaTest Issue,版本冲突?

junit - 使用 @Rule 引导 PowerMock,但失败

java - 在单元测试中检查工厂的结果

java - 有什么方法可以修复 Stripe 中的错误 "Customer cus_xxx already has the maximum 25 current and scheduled subscriptions"吗?

javascript - Node : How to do nightmareJS e2e-testing on running docker application