Spockで複数ステップのテストを書く

2016/12/31
2021/02/25

Spockでテストを書くとき、setup:, when:, then: という流れで書けば良いが複数の処理を実行し、最後の結果だけでなく途中の経過も含めてassertする場合にどうすればいいか。

単純に when:then: を繰り返して書けばいい。
and: などが一見それっぽいもののようにも思えてしまうが、and: はこの用途ではないので注意。

def ...() {
    setup:
    // 初期設定

    when:
    // 最初の処理

    then:
    // 最初の処理の結果をassert

    when:
    // 2つ目の処理

    then:
    // 2つ目の処理の結果をassert
}

© 2010 ksoichiro