Почему GroovyMock нулевой, а не "поддельные методы" - PullRequest
0 голосов
/ 09 апреля 2019

У меня есть простой тест Спока.

Идея проста.

  • Я создаю Макет из RestHighLevelClient

  • RestHighLevelClient имеет метод indexes () , который возвращает final class

  • Я просто не хочу издеваться над RestHighLevelClient.indeces (). Exist () method.

     def indicesClient = GroovyMock(IndicesClient) {
                exists(_,_) >> true
     }
     def client = Mock(RestHighLevelClient)
     client.indices() >> indicesClient
    

Поскольку IndicesClient является окончательным, его использование GroovyMock вместо Макет .

Проблема в том, что indicesClient переменная всегда равна нулю!

НО indicesClient.exists () это ture.

PS Я использую cglib: 3.2.5, groovy-all: 2.4.12, спок-ядро: 1.1-groovy-2.4

...