Давайте предположим, что у меня есть два класса:
- TodoRepository
- TodoService
TodoRepository
- это простой CRUD-репозиторий:
public interface TodoRepository extends CrudRepository<T, ID> {
}
TodoService
- это просто класс, вызывающий этот репозиторий:
@Service
public class TodoService{
private final TodoRepository todoRepository;
@Autowired
public TodoService(TodoRepository todoRepository) {
this.todoRepository = todoRepository;
}
public void createTodo(Todo todo) {
todoRepository.save(todo);
}
}
Стоит ли проверять уровень обслуживания?
Редактировать:
Благодаря объяснению от @Dherik.Я создал тестовый класс, который выглядит следующим образом:
Примечание: Я использую JUnit5, Mockito и Spring Framework
@ExtendWith(SpringExtension.class)
class TodoServiceTest {
@MockBean
private TodoRepository todoRepository;
private TodoService todoService;
@BeforeEach
void setUp() {
todoService = new TodoService(todoRepository);
}
@AfterEach
void tearDown() {
clearInvocations(tanklevelRepository);
}
@Test
public void createTodo() {
todoService.createTodo(new Todo());
// verify if the save method is called when createTodo is called too
verify(todoRepository, times(1)).save(any(Todo.class));
}
}