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