В javadoc для refEq упоминается, что проверка на равенство невелика! Вы можете найти более подробную информацию по ссылке ниже:
[https://static.javadoc.io/org.mockito/mockito-core/2.2.29/org/mockito/ArgumentMatchers.html#refEq(T,%20java.lang.String...)][1]
Проблема «поверхностного равенства» не может контролироваться, когда вы используете другие классы, которые не реализуют метод .equals (), класс «DefaultMongoTypeMapper» является примером, где метод .equals () не реализован.
org.springframework.beans.factory.support предлагает метод, который может генерировать определение компонента вместо создания экземпляра объекта, и его можно использовать для избавления от ошибки сравнения.
genericBeanDefinition(DefaultMongoTypeMapper.class)
.setScope(SCOPE_SINGLETON)
.setAutowireMode(AUTOWIRE_CONSTRUCTOR)
.setLazyInit(false)
.addConstructorArgValue(null)
.getBeanDefinition()
** "Определение компонента - это только описание компонента, а не сам компонент.
описания бина правильно реализуют equals () и hashCode (), поэтому вместо создания нового DefaultMongoTypeMapper () мы предоставляем определение, которое сообщает Spring, как он должен его создавать "*
В вашем примере вы можете сделать что-то вроде этого
Mockito.verify(mockedObject)
.doSoething(genericBeanDefinition(YourClass.class).setA("a")
.getBeanDefinition());