我有一个基本上如下的规范:
def "my example specification"(){
given:"some mocked object which depends on a object created in the where clause"
def display = mockDisplay()
and:"a activityt"
def activity = new ConfigActivity(display)
when:
activity.doStuff()
then:
1 * display.select()
where:
dependency << new Dependency()
}
private mockDisplay() {
def display = Mock(ConfigActivity.Display)
display.addDependency(dependency)
return display
}
我理解“mockDisplay()”方法超出了“where”子句的范围。然而,由于一些规范往往变得混杂样板代码(不是在这简单的示例中)我真的需要一些方法来重用我的“给定”语句并且这样做我真的想利用Spock“where “条款也是如此。
这可行吗?或者还有另一种解决这个问题的方法吗?
答案 0 :(得分:1)
从辅助方法访问数据变量没有神奇的方法,但您可以将其作为方法参数传递。