【发布时间】:2020-02-12 10:33:32
【问题描述】:
我试图设置一个通用的对象数组,这些对象从资源中的 json 文件加载和反序列化,并尝试通过使用带有 setup() 方法的 groovy trait 来做到这一点。
性状:
Object[] arr
@BeforeClass
def setupTrait() {
arr = loadFromFile("xxx.json")
}
测试:
def setup() {}
def "test"() {
arr.size() //here arr is null, although the setup in groovy is called
}
工作解决方案。
性状:
static Object[] arr = loadFromFile("xxx.json")
测试:
def setup() {}
def "test"() {
arr.size() //here arr is ok.
}
问题是为什么第一个不能正常工作? 如果我使用 @Before 注释并在每次测试之前加载 arr,它就会以某种方式工作......
【问题讨论】:
-
感谢您提出有趣的问题。请注意了解MCVE 是什么,并始终尝试提供一个。它比没有类定义、包名、导入等的不连贯的 sn-ps 集要好得多。每个试图重现您的问题的人都必须创建自己的(可能是错误的)设置版本。看看马克在他的回答中是如何做到的,并向他和我链接的文章学习。谢谢。
-
好的,谢谢您的提示 - 我会记住这一点以备将来使用。