为什么GroovyMock为null但不是“模拟方法”

时间:2019-04-08 22:59:02

标签: groovy spock cglib spock-spy

我有一个简单的Spock测试。

想法很简单。

  • 我创建了 RestHighLevelClient

  • 模拟
  • RestHighLevelClient 具有方法 indices(),该方法返回 final

  • 我只是不会模拟 RestHighLevelClient.indeces()。exist()方法。

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

由于最终使用了 IndicesClient ,因此使用 GroovyMock 代替了 Mock

问题在于 indicesClient 变量始终为空!

BUT indexClient.exists()事实。

P.S我使用cglib:3.2.5,groovy-all:2.4.12,spock-core:1.1-groovy-2.4

0 个答案:

没有答案