Mockito - 检查是否在对象上调用了任何方法(访问了对象)

Mockito - check if ANY method was called on an object(object was accessed)

我想编写一个测试,将模拟对象 A 传递给被测对象 B,并检查是否调用了 A 的任何方法。为了提供一些上下文,class B 旨在根据一组参数以特定方式操纵 A,并且在某些条件下它根本不应该对它做任何事情。所以我的目标是测试那个场景。我知道如何测试特定方法是否被调用:

verify(A, never()).myMethod();

但我找不到方法来确保调用了 A 的 NONE 个方法。有办法吗?

我相信 verifyNoInteractions 可能就是您要找的。在你的情况下你会打电话给 Mockito.verifyNoInteractions(A).

public static void verifyNoInteractions(java.lang.Object... mocks)

Verifies that no interactions happened on given mocks. 

https://www.javadoc.io/doc/org.mockito/mockito-core/latest/org/mockito/Mockito.html#verifyNoInteractions-java.lang.Object...-