Это не аксессуар для перезаписи всех методов.
@ Mock - это чистая библиотека Mockito, где @MockBean - это весенняя реализация Mockito
Таким образом, в вашем классе компонентов Spring, если не определены поля @Autowired (точно так же, как простой Java-класс для макета в качестве объекта), тогда используйте аннотацию @Mock для макета объекта этого класса.
Но в вашем классе компонентов sping есть поля @Autowired, и вы хотите, чтобы контейнер Spring инициализировал эти поля как объект Mock, а затем использовал аннотацию @MockBean (Spring будет делать mock и автоматически связывать его).
Например
class Test {
public void testMethod(){ -- some code --}
}
Вы можете использовать аннотацию @Mock для тестового вызова, чтобы ее смоделировать. В классе Test нет других зависимостей или полей.
@Component
class Test {
@Autowired
Other other;
public void testMethod(){ -- some code --};
}
Тогда вы можете смоделировать Другой объект, используя @MockBean, если вы хотите смоделировать его и передать функциональность другого (т.е. мы смоделируем слой DAO и не вызываем фактическую логику). Spring контейнер инициализирует это другое поле.