从属性文件动态创建JUnit4 Test Suite

时间:2016-06-08 19:00:10

标签: java junit4 test-suite

我用来动态创建JUnit测试套件的解决方案可以在这里找到类似的问题:How do I Dynamically create a Test Suite in JUnit 4?

我想要适应的解决方案看起来像这样:

@RunWith(AllTests.class)
public class SomeTests
{
    public static TestSuite suite()
    {
        TestSuite suite = new TestSuite();

        suite.addTest(new JUnit4TestAdapter(Test1.class));
        suite.addTest(new JUnit4TestAdapter(Test2.class));

        return suite;
     }
}

但是,我不仅希望能够动态创建测试套件,而且还能够允许运行我的程序的用户使用属性文件指定他们想要运行哪些测试。

有没有办法可以用String来注释我的类,这样我可以在给定注释String的情况下获得实际的类类型?是否有任何可行的解决方案,或者只是一般的不良做法?

1 个答案:

答案 0 :(得分:0)

据我所知,您希望将测试类标记为属于一个或多个组,然后用户定义要执行的测试用例组。这是对的吗?

这种做法不好或者好,它已经在TestNG中实现了。 JUnit中没有这样的功能。但是您可以轻松地向代码中添加注释扫描程序并动态选择适当的测试类(例如,使用https://github.com/ronmamo/reflections仅使用单行代码在类路径中收集所有带注释的测试。)