Задать вопрос
Ответы пользователя по тегу Java
  • Как тестировать работу Service класса с базой данных или как сравнить два JPA entity объекта в тестах?

    @serser120
    Расскажу на примере своего метода из сервиса, который возвращает список видео. В VideoTestData у меня просто прописаны клише сущностей/списков и тд
    Используй import org.mockito.Mockito;

    protected void getAll() {
    //в тестируемом методе идет вызов метода репозитория, через when прописываем, что должно вернуться
    Mockito.when(videoRepository.findAll()).thenReturn(VideoTestData.VIDEO_LIST);
    //аналогично прописываем что должно передаться и вернуться, это надо сделать для каждого действия в методе //сервиса, где мы тыкаемся куда-то за его пределы(в репозиторий, маппер и тд)
    Mockito.when(videoMapper.toDTOs(VideoTestData.VIDEO_LIST)).thenReturn(VideoTestData.VIDEO_DTO_LIST);
    //тут мы вызываем непосредственно нужный метод и записываем результат
    List videoDTOS = service.listAll();
    //тут сравниваем полученный результат с ожидаемым
    assertEquals(VideoTestData.VIDEO_LIST.size(), videoDTOS.size());
    }

    надеюсь смог помочь, успехов!
    Ответ написан
    Комментировать