Как написать тестовые примеры JUnit 5 для следующего кода?

Это метод написания тестовых случаев JUnit для

public List<LoanApiCallEntity> getAllApiCallDetails() {

    return apiCallDetailsRepository.findAll();
}

Внутри класса LoanApiCallEntity это следующее:

public class LoanApiCallEntity {

    @Id
    @Column(name = "loan_api_call_id")
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    private int apiCallId;
    
    @CreationTimestamp
    @Column(name = "call_timestamp", nullable=false, updatable=false)
    private Timestamp callDateTime;
    
    @Column(name = "request_url")
    private String requestURL;
    
    @Column(name = "request_parameters")
    private String requestParameters;
    
    @Column(name = "username")
    private String username;
    
    @Column(name = "response_status")
    private String responseStatus;

}

Это тестовый пример, который я пробовал, но он показывает ошибку:

@MockBean ApiCallDetailsServiceImpl apiCallDetailsService;

@Test public void apiCallDetailsServiceImpltest() {

 LoanApiCallEntity entity = new LoanApiCallEntity();

    entity.setApiCallId(1);

    Mockito.doReturn(entity).when(this.apiCallDetailsService).getAllApiCallDetails();

    Assertions.assertEquals(entity.getApiCallId(),1);

}

Ошибка, отображаемая при запуске проекта (mvn test): LoanApiCallEntity не может быть возвращена функцией getAllApiCallDetails().

Можете ли вы обновить свой вопрос с полным тестовым классом и сообщением об ошибке?

Marit 23.03.2022 07:38
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
1
46
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

getAllApiCallDetails() возвращает список объектов, поэтому вам необходимо предоставить список в качестве фиктивного значения в вызове функции doReturn.

подскажите пожалуйста как составить мок список

DARTHO 23.03.2022 08:11
Mockito.doReturn(List.of(entity)).when(this.apiCallDetailsSe‌​rvice).getAllApiCall‌​Details();
Johan Nordlinder 23.03.2022 14:33

Другие вопросы по теме

Создать папку вне контейнера на хост-компьютере
Как использовать записи для @ConfigurationProperties в Spring Boot 2.6.4 (класс может быть не окончательным)
Как использовать внедрение конструктора
Я использую платформу Java Spring для сопоставления данных из части моих данных, и моя переменная пути не даст мне доступа к каким-либо данным
Как я могу получить сегодня предметы с JPQL
Он возвращает ноль из моего репозитория с UUID, первичный идентификатор
Включен ли RestTemplate по умолчанию https
Как получить один экземпляр зависимости, в то время как он внедряется несколько раз в разные классы?
Существуют встроенные таблицы, созданные пакетным заданием spring в H2, такие как job_instance и т. д. Как мы можем добавить префикс к этим таблицам, используя файл свойств?
Найдено 0 интерфейсов репозитория JPA после того, как я запустил свое весеннее загрузочное приложение