JUnit执行的2个变体:TestRunner和JUnitCore

时间:2019-06-20 05:04:50

标签: junit

从OS命令外壳调用JUnit测试似乎有两种方法:

java junit.textui.TestRunner <class-name>

java org.junit.runner.JUnitCore <class-name>

我们什么时候使用一个相对另一个?

还有其他方法可以从OS命令外壳调用Junit测试吗?

1 个答案:

答案 0 :(得分:1)

JUnitCore是JUnit的切入点-因此,如果您想以编程方式运行测试或通过某些非Java脚本运行测试,我想这是JUnit 4的必经之路。

TestRunner是一个非常古老的junit 3.x

请注意,当今的JUnit 5是最新可用的主要版本,它还有另一种运行测试的方式。

关于从命令行运行测试的不同方式的问题已经Here得到了回答,因此我对此不能做太多补充。

但是,我可以评论:

  

还有其他方法可以从OS命令外壳调用Junit测试吗?

如今,在常规项目中,人们不会运行这样的测试,而是使用其中一种构建工具(例如Maven,Gradle)来进行测试。

因此,例如,如果您使用maven,则可以运行mvn test,它将编译所需的所有内容,包括测试的源代码,将处理所有测试依赖项,并在的帮助下运行所有​​测试内置surefire插件。

如果您不想编译任何内容(假设所有代码均已编译并且全部设置完毕,则可以使用mvn surefire:test

这些构建工具还与CI工具(例如Jenkins等)集成在一起,因此这被认为是一个已解决的问题。

因此,除非您执行了完全不同的操作(例如编写应该运行用户按需选择的测试的IDE UI或其他操作),否则实际上并不需要使用您提到的选项来运行测试。