У меня есть SomeService, который использует аннотацию @Resource для EJB TimerService.
@Resource private TimerService timerService;
Как я могу ввести макет TimerService вместо этого TimerService в SomeService?
Если вы используете mockito: Mockito может вводить аннотированные поля, вы видите: @RunWith (MockitoJUnitRunner.class) против MockitoAnnotations.initMocks (это)
Я бы предложил вместо использования аннотаций в полях использовать аннотированный конструктор. Таким образом, вы можете сделать все введенные поля окончательными, и вы получите сбои сборки при изменении зависимостей вместо ошибок/исключений во время выполнения/теста. И добавленный бонус заключается в том, что вы можете просто вызвать конструктор в своих тестах и таким образом ввести макеты.