当我尝试运行JUnit测试时,我收到错误消息
没有测试跑步者和JUnit 4'
的测试结果
因此我尝试了
的解决方案但是,在我的情况下,差异似乎是我指定要在包级别而不是文件夹级别上运行的测试。
如果我指定一个直接包含测试类的包(例如com.example.tests.smoketests
),则运行JUnit测试是有效的,但如果指定了更高级别的包(例如com.example.tests
)则不起作用。
如果我在com.example.tests
中定义测试,则会找到并运行。
有没有办法让Eclipse / JUnit在包和所有子包中找到测试?
答案 0 :(得分:3)
开箱即用,没有什么可以帮到你的。您可以使用Suite
注释在JUnit4中实现此目标,但这仍然需要您为每个包手动定义套件测试,然后将它们全部包含在聚合套件测试中(例如它们递归调用子套件)。
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
import a.sub.package.AnotherSuiteTest.class;
@RunWith(Suite.class)
@Suite.SuiteClasses({
PackageLocalTestClass1.class,
PackageLocalTestClass2.class,
AnotherSuiteTest.class
})
public class JunitTestSuite {
}
我已经开始构建自己的实用程序类,然后创建整个测试系列。 This article提供了类似的效用。