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