Я только начал тестировать свое веб-приложение.
Во-первых, я не уверен, нужно ли запускать тесты для полей модели регулярных выражений (как в моем коде), во-вторых, если тестирование необходимо, как я могу это сделать?
Я уже пробовал это решение: Юнит-тесты проходят проверку правильности регулярных выражений моделей в Django , но это не работает.
Для поля cf требуется строка из 16 символов, но моя функция test_cf_max_length () возвращает объект продавца, даже если введенный код неверен (<16 символов) </p>
models.py
class Seller(User):
cf = models.CharField(validators=[RegexValidator(regex='^.{16}$', message='Social Security Number', code='nomatch')], max_length=16)
iban = models.CharField(validators=[RegexValidator(regex='^.{27}$', message='IBAN', code='nomatch')], max_length=27)
is_seller = models.BooleanField(default=False)
tests.py
def setUpTestData(cls):
Seller.objects.create(username='clara', cf='12345690123456', iban='123456789012345678901234567')
def test_cf_max_length(self):
seller = Seller.objects.get(id=1)
with self.assertRaises(ValidationError):
if seller.full_clean():
seller.save()
self.assertEqual(Seller.objects.filter(id=1).count(), 0)