JUnit执行的两个变体:TestRunner&;杜松科

JUnit执行的两个变体:TestRunner&;杜松科,junit,Junit,从OS命令shell调用JUnit测试似乎有两种方法: java junit.textui.TestRunner <class-name> java junit.textui.TestRunner 及 java org.junit.runner.JUnitCore 我们什么时候用一个来对比另一个 另外,还有其他方法可以从操作系统命令shell调用Junit测试吗?JUnitCore是Junit的入口点-因此,如果您想以编程方式或从一些非java脚本运行测试,我认为这是JUnit

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

java junit.textui.TestRunner <class-name>
java junit.textui.TestRunner

java org.junit.runner.JUnitCore
我们什么时候用一个来对比另一个


另外,还有其他方法可以从操作系统命令shell调用Junit测试吗?

JUnitCore是Junit的入口点-因此,如果您想以编程方式或从一些非java脚本运行测试,我认为这是JUnit4的方法

TestRunner是非常古老的JUnit3.x

请注意,现在JUnit5是最新的主要版本,它还有另一种运行测试的方法

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

不过,我可以评论:

另外,还有其他方法可以从OS命令shell调用Junit测试吗

如今,在常规项目中,人们不再像这样运行测试,而是使用一种构建工具(例如Maven、Gradle)来处理测试

例如,如果您使用maven,您可以运行
mvn test
,它将编译您需要的所有内容,包括测试的源代码,将考虑所有测试依赖性,并将在内置
surefire
插件的帮助下运行所有测试

如果您不想编译任何东西(假设所有代码都已编译且已设置,则可以使用
mvn surefire:test

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

因此,除非您正在做一些真正不同的事情(比如编写IDE UI以运行用户按需选择的测试或其他事情),否则实际上不需要使用您提到的选项运行测试。

可能重复的
java org.junit.runner.JUnitCore <class-name>