我的项目中有大量的JUnits。其中,我想通过从属性文件中查找类来执行某些集合。
在JUnit 4之前:
public class TestSuite
{
public static Test suite()
{
TestSuite suite = new TestSuite();
Class [] array = readFromPropertyFile();
for (Class tempClz : array)
{
suite.addTestSuite(tempClz);
}
}
}
但是在Junit4中,我被迫在编译时对类进行注释,如下所示:
@RunWith(Suite.class)
@Suite.SuiteClasses({
Test1.class,
Test2.class
})
public class TestSuite
{
}
我不能,切换回Junit 3.x因为,所有测试类都不再扩展TestCase
意味着Test1.class不是Class<? extends TestCase>
类型
在这种情况下,有没有办法动态配置测试套件?
答案 0 :(得分:2)
cpsuite项目使用自定义注释来确定基于模式在运行时运行的测试。这不是你想要的,但这是一个好的开始。您可以获取它的源代码,并使用读取属性文件替换“查找测试”部分。
请注意,对于不同版本的JUnit 4.X,注释/代码是不同的。如果您仍然使用JUnit 4.4或更低版本,则需要较旧的版本。