如果测试类和JUnit都在类路径上,则可以从命令行运行JUnit测试,如下所示:
- java org.junit.runner.JUnitCore TestClass1 TestClass2
现在,有没有办法在包(和子包)中运行所有测试?
我正在寻找类似的东西
- java org.junit.runner.JUnitCore com.example.tests.testsIWantToRun.*
有没有一个简单的方法(不涉及maven或ant)?
解决方法@H_301_14@
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 {
- }
- 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 {
- }