У меня есть Spring Controller, в котором один интерфейс автоматически подключается, как показано в следующем классе.
@Controller
public class EmployeeController
{
@Autowired
private EmployeeManager employeeManager;
public int saveEmployee(Employee employee) {
int empId = employeeManager.saveEmployee(employee);
return empId;
}
}
Теперь я создал один тестовый класс Junit следующим образом.
public class EmployeeControllerTest {
private EmployeeController employeeController ;
private EmployeeManager employeeManager ;
@Before
public void setUp() throws Exception {
employeeController = PowerMockito.spy(new EmployeeController());
employeeManager = PowerMockito.mock(EmployeeManager.class);
}
@Test
public void shouldGetCountOfEmployees()
{
Employee emp = new Employee("Peter");
int empId = employeeController.saveEmployee(emp);
Assert.assertEquals(1, empId);
}
Теперь, после выполнения тестового класса, я получаю исключение nullPointerException в строке int empId = employeeManager.saveEmployee(employee);
внутри метода saveEmployee
контроллера.
Я также пробовал аннотацию @Mock, аннотацию @Spy, но не смог выполнить тестовый пример. Поэтому, пожалуйста, помогите внедрить экземпляр employeeManager
в контроллер при выполнении тестового примера с помощью PowerMockito.
Спасибо