0

我有一个基本上看起来像这样的规范:

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 " 子句也是如此。

这是可行的吗?还是有其他方法可以解决这个问题?

4

1 回答 1

1

从辅助方法访问数据变量没有神奇的方法,但您可以将其作为方法参数传递。

于 2012-02-14T21:03:27.377 回答