Groovy中的Mockito.verify()导致Spring@MockBean的方法错误不明确
我正在尝试验证是否对SpringGroovy中的Mockito.verify()导致Spring@MockBean的方法错误不明确,spring,groovy,mockito,Spring,Groovy,Mockito,我正在尝试验证是否对Spring@MockBean调用了一个方法: Mockito.verify(rabbit).convertAndSend( Mockito.isA(String.class), Mockito.isA(String.class), Mockito.isA(Object.class) ) 我在Spock测试中执行此操作,并得到以下错误: Caused by: groovy.lang.GroovyRuntimeException
@MockBean
调用了一个方法:
Mockito.verify(rabbit).convertAndSend(
Mockito.isA(String.class),
Mockito.isA(String.class),
Mockito.isA(Object.class)
)
我在Spock测试中执行此操作,并得到以下错误:
Caused by: groovy.lang.GroovyRuntimeException: Ambiguous method overloading for method org.springframework.amqp.rabbit.core.RabbitTemplate$MockitoMock$2020468097#convertAndSend.
Cannot resolve which method to invoke for [null, null, null] due to overlapping prototypes between:
[class java.lang.String, class java.lang.Object, interface org.springframework.amqp.core.MessagePostProcessor]
[class java.lang.Object, interface org.springframework.amqp.core.MessagePostProcessor, class org.springframework.amqp.rabbit.connection.CorrelationData]
... 1 more
是否有更好的方法使用Mockito语法将其指向特定方法?
Mockito.isA(…)
返回null
。这真的是您想要作为参数传递给convertAndSend
?@JeffScottBrown,当然不是,我只是想验证是否使用任何参数调用了convertAndSend()。正确的方法是什么?“我只是想验证convertAndSend()是否使用任何参数调用”-您希望调用哪个版本的convertAndSend
重载版本?您是否尝试过Mockito.any(…)
?@JeffScottBrown org.springframework.amqp.rabbit.core.RabbitTemplate\convertAndSend(java.lang.String、java.lang.String、java.lang.Object)