Я пытаюсь протестировать подкачку для следующего метода службы в приложении 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
Программисты JAVA общаются здесь
1728555607
Anonymous
Я пытаюсь протестировать подкачку для следующего метода службы в приложении 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());
}
[b]Обновление:[/b] Вот код моего репозитория:
default Page findAll(PageableCriteriaRequest criteriaRequest, Sort sort) {
final SearchSpecificationBuilder builder =
new SearchSpecificationBuilder(criteriaRequest.getSearchCriteriaList());
return findAll(builder.build(), getPageable(criteriaRequest, sort));
}
Подробнее здесь: [url]https://stackoverflow.com/questions/70752293/cannot-test-paging-in-unit-test[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия