考虑您想要使用包含以下方法签名来模拟接口: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)进行验证?