是否可以同时运行多个包的 JUnit 测试,而无需手动创建测试套件。
例如,如果我有层次结构:
代码.branchone
代码.branchone.aaa
代码.branchone.bbb
代码.branchtwo
代码.branchtwo.aaa
代码.branchtwo.bbb
是否有可能:
- 运行 code.branchone 和后代包中的所有测试
- 运行 code.branchone.aaa 和 code.branchtwo.bbb 中的所有测试
我发现手动创建测试套件的问题是,当新的测试出现时,您可能会忘记添加它们。
对的,这是可能的。至少对我来说最简单的方法是添加一个测试套件类。它可以看起来像这样:
package tests;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
import org.junit.runners.Suite.SuiteClasses;
import tests.message.ATest;
import tests.validator.BTest;
import tests.validator.CTest;
import tests.validator.DTest;
@RunWith(Suite.class)
@SuiteClasses({ ATest.class,
BTest.class,
CTest.class,
DTest.class })
public class AllTests {
}
这将允许您测试导入的任何类,无论它位于哪个包中。要在 Eclipse 中运行它,您只需右键单击 AllTests 类并将其作为 JUnit 测试运行。然后它将运行您定义的所有测试@SuiteClasses
.
这也适用于链接源,我一直使用它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)