如何对对象使用 Mockito.verify?

How to use Mockito.verify for objects?

我正在尝试使用 Mockito.verify(mock).method(object)。我想要完成的是在测试时检查是否使用对象参数调用了该方法。

verify(mock).method(object);

其中对象类似于:

public class Object {
    private static final string PROPERTY = "property";
}

看起来属性的值是相同的,但它仍然认为它是不同的,因为它们实际上不是同一个对象。处理这个问题的最佳方法是什么?我最初的方法是使用@Captor 并一次检查每个值。还有比这更好的方法吗?

Mockito 中有辅助方法来处理这个问题。

例如,在Object中定义“equals”,然后就可以使用:

verify(mock).method(Mockito.eq(object));

除了eq之外,还有许多其他方法可能很方便(sameany*)等