我需要根据使用 JUnitCore 和 Categories 运行某些测试,但我找不到让它工作的方法,你能看看,让我知道这是否有效?
我有以下 TestSuite 称为:
@RunWith(Categories.class)
@IncludeCategory(FeatureA.class) //this is the interface required as per categories documenation
@SuiteClasses( { AllTests.class } ) //imagine that AllTests contains all my tests
public class FeatureASuite {
} //if I'm not mistaken this configuration
// will go over all my tests and
// pick up only the ones with category FeatureA
然后我有一个主类将按如下方式处理执行:
public static void main(String[] args) {
List<Class<?>> classes = new ArrayList<Class<?>>(); //classes collection
boolean featureA= true; //as this is an example featureA is always enabled
if(featureA) { //if feature A enabled then..
classes.add(FeatureASuite.class); //...add the feature A suite.
}
JUnitCore jUnitCore = new JUnitCore(); //create the facade
jUnitCore.runClasses(classes.toArray(new Class[classes.size()])); //run the classes specified
}
执行代码后,测试不会运行。我已经尝试过使用不同的运行程序(而不是使用 Categories.class 我尝试过 Suite.class)并执行了测试,但是我需要为每个测试方法指定类别并且 Suite.class 没有达到那个标记。