Как работает модульное тестирование в 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)
Посмотрите на покрытие, например, оно говорит мне, что я вообще не покрываю тестовый случай
Я нашел проблему, она заключалась в том, что мне нужно было "запустить" покрытие перед фактической генерацией html, поэтому, во-первых:
coverage run manage.py test app_name
тогда:
coverage html
для создания нового html.