简而言之,你不能。由于邮件列表 (http://forum.spockframework.org) 中讨论的原因,该where块必须在块/方法之前运行。setup但是,where块可以引用@Shared变量,这些变量可以直接初始化,也可以在setupSpec(). 如有必要,您可以使用不同的方法编写多个规范类setupSpec()并将它们全部保存在同一个文件中。
通常,另一种选择是扭转局面并在块中使用简单的值(例如字符串和数字),从而在where块中构造更复杂的对象setup。