В проекте, над которым я сейчас работаю,
Я часто вижу @Spy
и @InjectMocks
, используемые вместе на поле.
Я никогда не видел такого в каких-либо учебниках или других ресурсах.
Я погуглил об этой конкретной комбинации, но не сделал
найти что-нибудь еще, кроме этой темы на GitHub:
https://github.com/mockito/mockito/issues/169
Что заставляет меня думать, что мы используем его странным образом.
Примечание: причина, по которой я думаю использовать обе аннотации вместе
имеет смысл иногда потому, что если вы используете только @InjectMocks
Mockito пытается создать экземпляр класса с помощью конструктора без аргументов.
Если у вас нет конструктора без аргументов и вы добавили @Spy
, вы можете использовать объект, не нуждаясь в пустом конструкторе.
Редактировать: еще одно важное использование, что вы можете только методы заглушки если вы просто используете обе аннотации.