相关疑难解决方法(0)

Mockito:使用类型兼容的参数验证重载方法

考虑您想要使用包含以下方法签名来模拟接口Mockito

public void doThis(Object o);

public void doThis(Object... o)
Run Code Online (Sandbox Code Playgroud)

我需要验证doThis(Object o)而不是其他方法)是否已被调用一次。

首先,我认为下面的行可以解决问题:

verify(mock, times(1)).doThis(anyObject());
Run Code Online (Sandbox Code Playgroud)

doThis然而,这似乎在 Windows 上有效,但在 Linux 上却不起作用,因为在这种环境中,需要调用其他方法。
这是因为anyObject()参数似乎与两个方法签名都匹配,并且以或多或少不可预测的方式选择了一个方法签名。

如何强制Mockito 始终选择doThis(Object o)进行验证?

java eclipse mockito overload-resolution ecj

6
推荐指数
1
解决办法
5986
查看次数

标签 统计

ecj ×1

eclipse ×1

java ×1

mockito ×1

overload-resolution ×1