【发布时间】:2012-05-10 13:25:39
【问题描述】:
我想根据设置数据构建 where 条件。但似乎在设置方法之前执行,所以我得到null 对象。我是对的,如何根据我的setup 数据构造where 数据?
【问题讨论】:
我想根据设置数据构建 where 条件。但似乎在设置方法之前执行,所以我得到null 对象。我是对的,如何根据我的setup 数据构造where 数据?
【问题讨论】:
简而言之,你不能。出于邮件列表 (http://forum.spockframework.org) 中讨论的原因,where 块 必须 在 setup 块/方法之前运行。但是,where 块可以引用@Shared 变量,可以直接初始化,也可以在setupSpec() 中初始化。如有必要,您可以使用不同的setupSpec() 方法编写多个规范类,并将它们全部保存在同一个文件中。
通常,另一种方法是扭转局面,在 where 块中使用简单值(例如字符串和数字),在 setup 块中构造更复杂的对象。
【讨论】: