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 を利用したいと思います"節も。

これは実行可能ですか?または、この問題に対処する別の方法はありますか?

4

1 に答える 1

1

ヘルパー メソッドからデータ変数にアクセスする魔法の方法はありませんが、メソッド パラメーターとして渡すことができます。

于 2012-02-14T21:03:27.377 に答える