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