如果测试类和JUnit都在类路径上,则可以从命令行运行JUnit测试,如下所示:
java org.junit.runner.JUnitCore TestClass1 TestClass2
现在,有没有办法在包(和子包)中运行所有测试?
我正在寻找类似的东西
java org.junit.runner.JUnitCore com.example.tests.testsIWantToRun.*
有没有一个简单的方法(不涉及maven或ant)?
解决方法
Junit允许您定义
suites的测试.每个套件定义了一组测试,并运行该套件会导致所有的测试运行.我所做的是为每个包定义一个套件,列出该包的测试类以及任何子包的套件:
package com.foo.bar; import org.junit.runner.RunWith; import org.junit.runners.Suite; import com.foo.bar.baz.Suite_baz; @RunWith(Suite.class) @Suite.SuiteClasses({ ThisTest.class,ThatTest.class,TheOtherTest.class,Suite_baz.class,}) public class Suite_bar { }