Привет! Я хочу проверить метод удаления службы, но он не работает:
Это мой метод обслуживания:
public Optional<PersonDto> deletePerson(Long id) {
Assert.notNull(id, "id can't be null");
Optional<Person> personOptional = personRepository.findById(id);
personRepository.delete(personOptional.orElse(new Person()));
return personOptional.map(p -> modelMapper.map(p, PersonDto.class));
}
И это мой тест для этого метода:
@Test
public void shouldDeletePersonById() {
personService.deletePerson(1l);
Mockito.verify(personRepository, times(1)).deleteById(1l);
}
Это ошибка:
Разыскивается, но не вызывается:
personRepository.deleteById(1L);
-> at com.softwaremind.crew.people.service.PersonServiceTest.shouldDeletePersonById(PersonServiceTest.java:68)
Однако с этим макетом было ровно 2 взаимодействия:
personRepository.findById(1L);
-> at com.softwaremind.crew.people.service.PersonService.deletePerson(PersonService.java:69)
personRepository.delete(
Person{id=0, firstName='null', lastName='null', location='null', email='null', status='null', role='null', createdOn=null, modifiedOn=null}
);
-> at com.softwaremind.crew.people.service.PersonService.deletePerson(PersonService.java:70)
Конечно, метод удаления в сервисной работе ок.