Spockでもテストスイートしてみる

Eclipse で複数の Specification を一括実行する』で

実は Spock には Junit のテストスイートのような機能はありません。
つまり、Spock 自身には 複数の Specification を一括で実行する機能はないのです。 Eclipse で複数の Specification を一括実行する - bluepapa32’s Java Blog
なんてことを書いてしまいましたが Spock でも ちゃんとテストスイートできます

と言うのも...
Spock の Specification は Junit4 の仕組みで動いているので Junit4 のテストスイートと同じように

package com.bluepapa32;

import org.junit.runner.RunWith;
import org.junit.runners.Suite;
import org.junit.runners.Suite.SuiteClasses;

@RunWith(Suite.class)
@SuiteClasses({
    FooSpec.class,
    BarSpec.class,
    HogeSpec.class,
})
public class AllSpecifications { }
と書けば ちゃんとテストスイートできるんですね。

ちなみに 上記は Java で書いていますが、Groovy で書けば

package com.bluepapa32

import org.junit.runner.RunWith
import org.junit.runners.Suite
import org.junit.runners.Suite.SuiteClasses

@RunWith(Suite)
@SuiteClasses([FooSpec, BarSpec, HogeSpec])
class AllSpecifications {}
とちょっとだけ楽できます。