Я пытаюсь протестировать подкачку для следующего метода службы в приложении Java (Spring Boot):
@Override
public Page
findAll(PermissionCriteriaRequest request, Sort sort) {
final Page permissions = repository.findAll(request, sort);
final List permissionDTOs = permissions.getContent().stream().map(PermissionDTO::new)
.collect(Collectors.toList());
return new PageImpl(permissionDTOs, permissions.getPageable(), permissions.getTotalElements());
}
Вот мой метод модульного тестирования; здесь я устанавливаю страницу на 1 и размер на 1, чтобы получить только одну запись для первой страницы. Однако он возвращает все 5 записей, а параметры PermissionCriteriaRequest не имеют никакого смысла. Я думаю, что проблема связана с тем, когда(permissionRepository.findAll(request, null)).thenReturn(permissionPage), потому что я настроил его на возврат всех 5 записей. Итак, можно ли правильно протестировать пейджинг? Или это бессмысленно в данных обстоятельствах?
@Test
public void test_findAll() {
final Permission permission1 = new Permission();
permission1.setName("Permission1");
final Permission permission2 = new Permission();
permission2.setName("Permission2");
final Permission permission3 = new Permission();
permission3.setName("Permission3");
final Permission permission4 = new Permission();
permission4.setName("Permission4");
final Permission permission5 = new Permission();
permission5.setName("Permission5");
final List
permissionList = new ArrayList();
permissionList.add(permission1);
permissionList.add(permission2);
permissionList.add(permission3);
permissionList.add(permission4);
permissionList.add(permission5);
final Page permissionPage = new PageImpl(permissionList);
// here I set paging parameters
final PermissionCriteriaRequest request = new PermissionCriteriaRequest();
request.setNameFilter("Permission");
request.setPaginated(true);
request.setPage(1);
request.setSize(1);
when(permissionRepository.findAll(request, null)).thenReturn(permissionPage);
Page result = permissionService.findAll(request, null);
assertEquals(permissionList.size(), result.getSize());
}
Обновление: Вот код моего репозитория:
default Page findAll(PageableCriteriaRequest criteriaRequest, Sort sort) {
final SearchSpecificationBuilder builder =
new SearchSpecificationBuilder(criteriaRequest.getSearchCriteriaList());
return findAll(builder.build(), getPageable(criteriaRequest, sort));
}
Подробнее здесь: https://stackoverflow.com/questions/707 ... -unit-test
Невозможно проверить подкачку в Unit Test ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Visual Studio выдает ошибку: Node
::item использует неопределенный класс Unit
Anonymous » » в форуме C++ - 0 Ответы
- 72 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Xcode – Unit Test – компиляция для iOS 12, но модуль имеет минимальную цель развертывания 13
Anonymous » » в форуме IOS - 0 Ответы
- 22 Просмотры
-
Последнее сообщение Anonymous
-