Пружинная страничная страница - Mockito Repository Findall (Pagable) возвращает NULLJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Пружинная страничная страница - Mockito Repository Findall (Pagable) возвращает NULL

Сообщение Anonymous »

Я пытаюсь написать простой API для получения данных. Моя программа работает, и «находит все», когда не страдает. Однако, когда я называю Findall (Pagable) из макетного репозитория (Mockito), он возвращает Null. < /P>

tskservice.java

import com.example.task.dto.TaskResponse;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

import java.util.List;

public interface TaskService {
Page findAll(Pageable pageRequest);
}
< /code>

taskserviceimpl.java

import com.example.task.domain.TaskEntity;
import com.example.task.dto.TaskResponse;
import com.example.task.repository.TaskRepository;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageImpl;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service;

import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.List;

public class TaskServiceImpl implements TaskService {
private TasksRepository tasksRepository;

public TaskServiceImpl(TasksRepository tasksRepository) {
this.tasksRepository = tasksRepository;
}

@Override
public Page findAll(Pageable pageRequest) {
Page tasks = this.taskRepository.findAll(pageRequest);

taskrepository.java

package com.example.task.repository;

import com.example.task.domain.TaskEntity;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.stereotype.Repository;

@Repository
public interface TaskRepository extends JpaRepository, PagingAndSortingRepository {
Page findAll(Pageable pageRequest);
}

< /code>

taskserviceTest.java

package com.example.task.service;

import com.example.task.domain.TaskEntity;
import com.example.task.repository.TaskRepository;
import org.junit.jupiter.api.Test;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.equalTo;
import static org.mockito.Mockito.*;

class TaskServiceTest {
private TaskRepository taskRepository = mock(TaskRepository.class);
private TaskServiceImpl taskService = new TaskServiceImpl(taskRepository);

@Test
void FindAll_ReturnsAPagedListOfTasks() {
when(taskRepository.findAll()).thenReturn(Arrays.asList(
new TaskEntity(1L, "Fake task 1"),
new TaskEntity(2L, "Fake task 2"),
new TaskEntity(3L, "Fake task 3"),
new TaskEntity(4L, "Fake task 4")
));

Pageable pageRequest = PageRequest.of(0, 4);
List tasks = taskService.findAll(pageRequest).getContent();

assertThat(tasks.size(), equalTo(4));

verify(taskRepository).findAll();
}
}
< /code>

в taskserviceimpl.java .findall (pageRequest) возвращает NULL. Я не очень хорошо знаком с Mockito и задаюсь вопросом, вызывает ли создание фиктивного репозитория с ним проблемы? Это работает просто отлично, когда я делаю .findall () без страниц. Есть ли что -то не так с тем, как я использую Findall (Pagable) метод из PagingandSortingRepository. Спасибо!


Подробнее здесь: https://stackoverflow.com/questions/554 ... turns-null
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»