从OS命令外壳调用JUnit测试似乎有两种方法:
java junit.textui.TestRunner <class-name>
和
java org.junit.runner.JUnitCore <class-name>
我们什么时候使用一个相对另一个?
还有其他方法可以从OS命令外壳调用Junit测试吗?
答案 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或其他操作),否则实际上并不需要使用您提到的选项来运行测试。