我有一个标记了注释@Parameterized.Parameters的方法
@Parameterized.Parameters
public static List<Object[]> myData() {现在,作为另一个标记为@BeforeClass的方法的一部分,我读取了SystemProperty xyz
@BeforeClass
final String xyz = System.getProperty("XYZ");如果有的话,我可以在myData中使用xyz,所以获取依赖于xyz的列表?比如确保仅在BeforeClass完成后才填充参数?
发布于 2019-02-25 20:59:54
如果你只能设置"xyz“字符串--不要使用@BeforeClass,因为它只能在静态方法上使用(你的例子实际上是不正确的)。
因此,将"xyz“定义为不带@BeforeClass注释的静态最终:
private static final String xyz = System.getProperty("XYZ");在myData()中可以使用该属性值来访问它。
不幸的是,如果在使用@BeforeClass的静态方法中设置"xyz“,则无法在myData()中获取值,因为该方法将在myData()之后被调用(在这种情况下,"xyz”将为空)。作为一种解决办法,您可以使用静态初始化块。
https://stackoverflow.com/questions/54866204
复制相似问题