gpt4 book ai didi

java - 带有静态类列表的 Junit SuiteClasses

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:41:16 27 4
gpt4 key购买 nike

SuiteClasses 可以很好地处理像 {Test1.class,Test2.class} 这样的类列表,但是当我尝试生成类的静态列表时,它说类型不兼容:需要 java.lang.Class<?>但发现java.lang.Class<?>[]

我错过了什么?

@RunWith(Suite.class)

@Suite.SuiteClasses(TestSuite.classes)
public class TestSuite {

public static Class<?> [] classes;

static {
classes = new Class<?> [1];
classes[0] = MyTest.class;
}
}

最佳答案

那不应该真的有效。您打算将数组作为常量放在注释中。即使你解决了这个问题,编译器也会拒绝它。你需要做的是:

@RunWith(Suite.class)

@Suite.SuiteClasses({MyTest.class, MyOtherTest.class})
public static class TestSuite {
}

注意波浪形括号。

我确定您想要达到的目标是能够动态构建套件中的类列表。

我提交了一个 request他们允许这样做,但与此同时,唯一的方法是像这样子类化 Suite 类:

public class DynamicSuite extends Suite {

public DynamicSuite(Class<?> setupClass) throws InitializationError {
super(setupClass, DynamicSuiteBuilder.suite());
}
}


@RunWith(DynamicSuite.class)
public class DynamicSuiteBuilder {
public static Class[] suite() {
//Generate class array here.
}
}

关于java - 带有静态类列表的 Junit SuiteClasses,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1070202/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com