Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Groovy中的Mockito.verify()导致Spring@MockBean的方法错误不明确_Spring_Groovy_Mockito - Fatal编程技术网

Groovy中的Mockito.verify()导致Spring@MockBean的方法错误不明确

Groovy中的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

我正在尝试验证是否对Spring
@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)