当前位置: 首页 > 面试题库 >

JUnit与TestNG

姚雅珺
2023-03-14
问题内容

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

旧测试不会被重写,因为它们做得很好。我希望在新的测试中看到的是,可以灵活地编写测试,自然声明,分组和轻松地分布测试执行方式。


问题答案:

我都使用过,但是我必须同意Justin
Standard的观点,即您不应该真正考虑将现有测试重写为任何新格式。无论决定如何,同时运行这两个都是很简单的。TestNG努力比JUnit更具可配置性,但最终它们两者都可以很好地工作。

TestNG具有一项简洁的功能,您可以将测试标记为特定组,然后轻松运行特定组的所有测试,或者排除特定组的测试。因此,您可以将运行缓慢的测试标记为“慢速”组,然后在需要快速结果时将其忽略。他们的文档中的建议是将某些子集标记为“签入”测试,每当您签入新文件时都应运行这些测试。我在JUnit中从未见过这样的功能,但是如果您没有它,那么再次声明,您不会t真的很想念它。

尽管声称它具有高配置,但在几周前,我确实遇到了一个死角,无法做我想做的事…我希望我能记住它是什么,但我想提出来所以您知道这并不完美。

TestNG的最大优势是注释… JUnit还是在第4版中添加了注释。



 类似资料:
  • 问题内容: 我是Java的新手,并且正在关注Eclipse Total Beginner’s Tutorials 。它们都很有帮助,但是在第12课中,他将一个测试用例用于另一个测试用例。这是代码: 我在这些方法上搜索了很好的文档,但没有发现任何东西。如果我的理解是正确的,以及显示的字符串时,第二个参数的计算结果为false。如果是这样,将它们都包含在什么地方? 编辑:我想我看到了什么让我感到困惑。

  • 问题内容: 我已经使用过JUnit,但是某些测试存在一些问题,这些测试在Spring bean内具有@Autowired批注,当我引用它们时,@ Autowired的bean始终为NULL。 这是示例代码: 当调用Manager对象时,Spring会生成代理,但是当访问@Autowired parameterManager时,该对象为null,并且由于这个问题,我无法测试此方法。 知道是什么原因造

  • 我使用JUnit,但有些测试有一些问题,这些测试在Spring bean中有@Autowired注释,当我引用它们时,@Autowired的bean总是为空。

  • 为什么 TestNG 框架依然是大规模测试的较好选择? JUnit 4 具有基于注释的新框架,它包含了 TestNG 一些最优异的特性。但这是否意味着 JUnit 4 已经淘汰了 TestNG?Andrew Glover 探讨了这两种框架各自的独特之处,并阐述了 TestNG 独有的三种高级测试特性。 经过长时间积极的开发之后,JUnit 4.0 于今年年初发布了。JUnit 框架的某些最有趣的更

  • 或者只有一个依赖项就足够了? 我需要添加对的依赖项吗?

  • 问题内容: 今天,我看到了一个带有Java断言而不是JUnit断言的JUnit测试用例-相对于另一个而言,优先选择一个优点还是缺点? 问题答案: 在JUnit4中,JUnit断言引发的异常(实际上是Error)与java 关键字(AssertionError)引发的错误相同,因此它与堆栈跟踪完全相同,除了您无法分辨出其区别。 话虽这么说,断言必须在JVM中使用特殊标志运行,导致许多测试似乎通过了,