以下の内容はhttps://su-kun1899.hatenablog.com/entry/2017/03/09/230000より取得しました。


SpockでJavaの無名クラスを使ったらCircleCIがコケた #circleci #java #spock

CircleCIがテストの途中にタイムアウトでこけた。

command mvn test took more than 10 minutes since last output

ログを見ても途中で止まっており、結果としてもタイムアウトなので検討つかない。
もちろんローカル環境では発生しない。

RevertなりなんなりしながらTry&Errorを行うと、どうもSpockでインターフェースを返すメソッドをMockにする際、無名クラスを使っているところが原因の模様。

インターフェースはこんな感じ

public interface HomeCarePlanner {
  String getName();
}

テストはこんな感じ

given:
def hogeMock = new Hoge(){
    @Override
    String getName() {
        return 'dummy'
    }
}
hogeService.get(*_) >> hogeMock

対応

無名クラスを使わずに、GroovyMockしてあげたら発生しなくなった。
根本原因は分からない。。(´・ω・`)

def hogeMock = Mock(Hoge)
hogeMock.getName() >> 'dummy'
hogeService.get(*_) >> hogeMock



以上の内容はhttps://su-kun1899.hatenablog.com/entry/2017/03/09/230000より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14