您可以使用常量(即静态的最终变量)作为注释的参数。作为一个简单的例子,我经常使用这样的东西:import org.junit.Test;import static org.junit.Assert.*;public class MyTestClass{
private static final int TEST_TIMEOUT = 60000; // one minute per test
@Test(timeout=TEST_TIMEOUT)
public void testJDK()
{
assertTrue("Something is very wrong", Boolean.TRUE);
}}
请注意,可以将TEST_TIMEOUT常量直接传递给注释。
另外,我不记得曾经用数组试过这个,所以你可能会遇到一些问题,与Java变量相比,数组如何表示为注释参数?但至于问题的其他部分,你绝对可以使用一个常量String而没有任何问题。
编辑:我刚刚尝试使用String数组,并没有遇到你提到的问题 - 但编译器确实告诉我“属性值必须是常量”,尽管数组被定义为public static final String[]。也许它不喜欢数组是可变的这个事实?嗯...