Ваш код отлично работает для меня, используя Mockito 1.9.
Используя версию Mockito 1.8+, я получаю очень конкретное сообщение об ошибке, в котором точно указывается, как решить проблему. Как подсказывает php-кодер: для Mockito 1.8+ вам нужно инициализировать поле.
Вы видели это или любое другое сообщение об ошибке?
Edit:
У меня работает следующий код. Небольшие изменения:
- Удалены весенние аннотации
- Удален интерфейс
- Добавлен геттер
- Добавлено пусто
TaskService
- Добавлен тест с
System.out.println
Это выдает ошибку для вас? :
Услуги:
public class ReportServiceImpl {
private TaskService taskServiceImpl;
public ReportServiceImpl() {
}
public ReportServiceImpl(TaskService taskService) {
this.taskServiceImpl = taskService;
}
public void setTaskServiceImpl(TaskService taskServiceImpl) {
this.taskServiceImpl = taskServiceImpl;
}
public TaskService getTaskServiceImpl() {
return taskServiceImpl;
}
}
Зависимость:
public class TaskService {
}
Тест, отпечатки mockTaskService
:
@RunWith(MockitoJUnitRunner.class)
public class ReportServiceImplTestMockito {
@Mock
private TaskService mockTaskService;
@InjectMocks
private ReportServiceImpl service;
@Test
public void testMockInjected() {
System.out.println(service.getTaskServiceImpl());
}
}