JUnits之间的区别是什么?

10
我在IntelliJ中创建了一个Java Maven项目(多项式操作),现在我想创建一个JUnit。我发现有许多类型的JUnit,比如:
  • Arquillan JUnit4
  • Arquillan TestNG
  • Groovy JUnit
  • JUnit3
  • JUnit4
  • JUnit5
  • Spock
  • TestNG
请问有人能解释一下它们之间的区别或者哪个最好用吗?
谢谢!

2
它们是不同类型的单元测试框架(不是不同类型的JUnit)。JUnit是一种类型的单元测试框架,TestNG也是如此。JUnit非常受欢迎,您可以从它开始。 - isank-a
你应该选择JUnit 5。如果要执行类似于多项式操作的操作,则不需要使用其他更复杂的功能。也不需要使用旧的JUnit 3或4。 - Janac Meena
2个回答

8

Arquillian JUnit vs JUnit

Arquillian JUnit测试是在JUnit测试的基础上增加了一些额外的功能。

  • 你的测试类应该包含@RunWith(Arquillian.class)
  • 你可以使用依赖注入@Inject
  • 你的测试可以在通过Arquillian配置和管理的容器(执行环境)中运行。(你的测试类需要一个带有@Deployment注解的方法才能实现。)
  • 因此,集成测试比简单地模拟容器资源更加真实。有适用于Tomcat、Undertow、Jetty、JBoss、OSGi等的Arquillian容器适配器,你也可以创建自己的适配器。
  • 你的项目将需要在pom/gradle文件中添加一个测试依赖项org.jboss.arquillian.junit: arquillian-junit-container

请参阅文档获取更多信息。


7

如果您想了解JUnit版本3和4之间的差异,请查看此问题的列表。

如果想了解JUnit 4和5之间的差异,请参考这里。基本上,当涉及到更多的功能时,两者之间有大量的差异。JUnit 5有一些额外的断言和重复测试功能,但不支持低于8的Java版本。

如果想对TestNG和JUnit进行比较,请参考这里。基本上,JUnit和TestNG之间有很多相似之处,注释略有不同,您可以通过TestNG的xml文件捆绑测试。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接