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

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

1. Импортировать необходимые модули и библиотеки:

from django.test import TestCase
from myapp.forms import MyForm

2. Создать класс, наследующийся от TestCase:

class MyFormTest(TestCase):

3. Определить метод setUp(), в котором будет выполняться предварительная настройка тестового окружения:

def setUp(self):
    self.form_data = {
        'name': 'John',
        'select_field': None,
        'description': 'Lorem ipsum dolor sit amet'
    }

4. Определить метод test_form_submission(), который будет содержать код тестирования отправки формы:

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 означает успешное выполнение действия.

5. Запустить тестирование:

python manage.py test myapp.tests

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

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