Как тестировать форму, если select по-умолчанию None?

Для того чтобы протестировать форму, в которой поле select имеет значение None по умолчанию, можно использовать следующий подход.

  1. Импортировать необходимые модули и библиотеки:
from django.test import TestCase
from myapp.forms import MyForm
  1. Создать класс, наследующийся от TestCase:
class MyFormTest(TestCase):
  1. Определить метод setUp(), в котором будет выполняться предварительная настройка тестового окружения:
def setUp(self):
    self.form_data = {
        'name': 'John',
        'select_field': None,
        'description': 'Lorem ipsum dolor sit amet'
    }
  1. Определить метод testformsubmission(), который будет содержать код тестирования отправки формы:
def test_form_submission(self):
    form = MyForm(data=self.form_data)
    self.assertTrue(form.is_valid())
    response = self.client.post('/myapp/submit/', data=self.form_data)
    self.assertEqual(response.status_code, 200)

В данном коде мы создаем экземпляр формы с переданными тестовыми данными и проверяем, что форма является валидной. Затем мы отправляем данные формы с помощью метода client.post() и проверяем, что полученный статус ответа 200 означает успешное выполнение действия.

  1. Запустить тестирование:
python manage.py test myapp.tests

Заметьте, что "myapp" и "MyForm" должны быть заменены на соответствующие имена вашего приложения и формы.

Таким образом, использование вышеописанного подхода позволит вам тестировать форму, в которой поле select имеет значение None по умолчанию. Вы можете добавить дополнительные ассерты в метод testformsubmission() для проверки других аспектов отправки формы, если это необходимо.