是否可以同时为多个包运行JUnit测试,而无需手动创建测试套件.
例如,如果我有层次结构:
code.branchone
code.branchone.aaa
code.branchone.bbb
code.branchtwo
code.branchtwo.aaa
code.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
.
这也适用于链接源,我一直使用它.
其他方式:
单击下图中红色矩形表示的黑色三角形(在Eclipse中,不在此处:).)
然后打开运行配置,创建一个新配置,然后设置"运行所有测试...",如下图所示.
也许不完全是原始问题,但只需右键单击项目 - > Run As JUnitTest ,即可轻松运行整个项目的所有测试.不要担心带注释的类所在的位置,这将被扫描.
如果应用于test-src-folder或带有子包的包,则不起作用.真的很遗憾-.-