DJANGO ТЕСТИРОВАНИЕ ПАДЖИНАТОРА
При разработке приложений на Django часто используются паджинаторы для разбиения длинных списков на страницы. Однако, как и любой другой компонент приложения, паджинатор также требует тестирования для убеждения в его правильной работе.
Для написания тестов паджинатора в Django используется встроенный модуль тестирования - unittest. Пример кода для тестирования паджинатора, который проверяет количество элементов на странице и корректность номеров страниц:
class PaginatorTest(TestCase):
def test_paginator(self):
data = list(range(0, 20))
p = Paginator(data, 5)
self.assertEqual(p.num_pages, 4)
self.assertEqual(list(p.page(2)), [5, 6, 7, 8, 9])
В данном тестовом случае мы создаем список из 20 элементов и разбиваем его на страницы по 5 элементов. Затем мы проверяем, что паджинатор создал 4 страницы и что вторая страница содержит элементы с 6 по 10.
Также важно тестировать паджинатор в условиях, когда количество элементов недостаточно для создания нескольких страниц или когда количество элементов не кратно количеству элементов на странице. Для этого можно использовать следующий код:
class PaginatorTest(TestCase):
def test_single_page(self):
data = list(range(0, 5))
p = Paginator(data, 5)
self.assertEqual(p.num_pages, 1)
self.assertEqual(list(p.page(1)), [0, 1, 2, 3, 4])
def test_incorrect_page(self):
data = list(range(0, 20))
p = Paginator(data, 5)
with self.assertRaises(PageNotAnInteger):
p.page('a')
with self.assertRaises(EmptyPage):
p.page(0)
В этом примере мы тестируем случай, когда всего одна страница, и случай, когда запрашивается страница, которой не существует или номер страницы меньше единицы.
Тестирование Django приложения [GeekBrains]
Django 4 E-Commerce Полный курс #python #django4 #djangoecomerce
#15. Добавляем пагинацию (pagination) - Уроки по Django REST Framework
#18. Постраничная навигация (пагинация) - Django уроки
Устраиваемся на работу - Выполняем тестовое задание на Junior Python разработчика - Парсинг
Тестирование представлений Django
Новые материалы:
- Python как узнать размер изображения
- Python не читает русский язык из файла
- Напечатать таблицу умножения на 7 python
- Напишите программу которая находит все различные цифры в символьной строке python
- Python пробелы в строке
- Python отсортировать строку по алфавиту
- Python telebot отправить файл
- Python автоформатирование кода
- Полное руководство параллельного программирования на python куан нгуен pdf
- Четные числа python задача
- Python синтаксический анализатор