Для тестирования Django CreateView для создания и редактирования объектов можно использовать следующий подход: 1
Написать два отдельных теста. 1 В одном вызвать представление для создания и убедиться, что запись появилась в базе данных. 1 В другом — создать запись напрямую, а затем вызвать представление для детализации, чтобы проверить, что оно отображается правильно. 1
Использовать базовый класс django.test.TestCase. 3 Он создаёт чистую базу данных перед запуском своих методов, а также запускает каждую функцию тестирования в собственной транзакции. 3 У этого класса есть тестовый клиент, который можно использовать для имитации взаимодействия пользователя с кодом на уровне отображения. 3
Создать тестовые данные. 2 Для этого можно использовать метод setUpTestData(), который вызывается перед запуском теста на уровне настройки всего класса. 3 Его следует применять для создания объектов, которые не будут модифицироваться или изменяться в каком-либо из тестовых методов. 3 Метод setUp() вызывается перед каждой тестовой функцией для настройки объектов, которые могут изменяться во время тестов (каждая функция тестирования будет получать «свежую» версию данных объектов). 3
Проверить, что приложение правильно ограничивает доступ к ресурсам. 2 Для этого можно использовать тесты для аутентификации и авторизации, чтобы убедиться, что приложение предоставляет доступ только авторизованным пользователям и ограничивает доступ неавторизованным. 2
Выбор методов тестирования зависит от конкретных задач и предпочтений разработчика.