Как работает модульное тестирование в django? (с покрытием)

я нахожу это несколько запутанным для проведения модульного тестирования, особенно с полями, которые имеют атрибут blank=True или unique=True

Посмотрите, например, на это:

class TagTest(TestCase):
    def create(self):
        tag = models.Tag.objects.create(name='test')
        return tag
    def test_get(self):
        tag = self.create()
        self.assertIsInstance(tag, models.Tag)
        self.assertEqual(tag.name, tag.__str__())
        self.assertEqual(len(tag.name),4)class TagTest(TestCase):
    def create(self):
        tag = models.Tag.objects.create(name='test')
        return tag
    def test_get(self):
        tag = self.create()
        self.assertIsInstance(tag, models.Tag)
        self.assertEqual(tag.name, tag.__str__())
        self.assertEqual(len(tag.name),4)

Посмотрите на покрытие, например, оно говорит мне, что я вообще не покрываю тестовый случай

enter image description here

Я нашел проблему, она заключалась в том, что мне нужно было "запустить" покрытие перед фактической генерацией html, поэтому, во-первых: coverage run manage.py test app_name

тогда: coverage html

для создания нового html.

Вернуться на верх