我需要有可能在Maven构建过程中运行我的JUnit测试用例的子集。我决定将JUnit类别用于此目的。我创建了两个标记接口:UnitTest
和IntegrationTest
,并将它们分配给我的JUnit测试用例。现在我需要为它们创建一个测试套件:
package ru.hive.parser;
import org.junit.experimental.categories.Categories;
import org.junit.experimental.categories.Categories.IncludeCategory;
import org.junit.runner.RunWith;
import org.junit.runners.Suite.SuiteClasses;
import ru.hive.test.UnitTest;
@RunWith(Categories.class)
@IncludeCategory(UnitTest.class)
@SuiteClasses({ SomeClass.class })
public class ParserTestSuite {
}
问题是@SuiteClasses
注释,其中我需要列出我想要在测试套件中的所有类,并且我有很多(超过100个)这样的类,并且数量正在增长。如果我有自动构建类列表的方法,我会很高兴。我已经在stackoverflow上阅读了所有类似于我自己的问题,但是由于我需要使用@RunWith(Categories.class)
而不是其他测试运行器,因此没有一个答案符合我的需求。任何想法如何实现这一点?
答案 0 :(得分:1)
Maven能够使用类别跑步者。见这里:http://maven.apache.org/surefire/maven-surefire-plugin/examples/junit.html
您还可以使用classpath suite并修改它以使用类路径来获取类路径上的测试(如果它还没有这样做?)。
生成一长列@SuiteClasses
似乎不值得。