首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >读取标记为@Parameterized.Parameters的方法中的变量

读取标记为@Parameterized.Parameters的方法中的变量
EN

Stack Overflow用户
提问于 2019-02-25 20:27:47
回答 1查看 36关注 0票数 0

我有一个标记了注释@Parameterized.Parameters的方法

代码语言:javascript
复制
@Parameterized.Parameters
public static List<Object[]> myData() {

现在,作为另一个标记为@BeforeClass的方法的一部分,我读取了SystemProperty xyz

代码语言:javascript
复制
@BeforeClass
final String xyz = System.getProperty("XYZ");

如果有的话,我可以在myData中使用xyz,所以获取依赖于xyz的列表?比如确保仅在BeforeClass完成后才填充参数?

EN

回答 1

Stack Overflow用户

发布于 2019-02-25 20:59:54

如果你只能设置"xyz“字符串--不要使用@BeforeClass,因为它只能在静态方法上使用(你的例子实际上是不正确的)。

因此,将"xyz“定义为不带@BeforeClass注释的静态最终:

代码语言:javascript
复制
private static final String xyz = System.getProperty("XYZ");

myData()中可以使用该属性值来访问它。

不幸的是,如果在使用@BeforeClass的静态方法中设置"xyz“,则无法在myData()中获取值,因为该方法将在myData()之后被调用(在这种情况下,"xyz”将为空)。作为一种解决办法,您可以使用静态初始化块。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54866204

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档