python - Django tests getting error -
i'm trying prepare simple tests app. have model below:
class kategoria(models.model): nazwa = models.charfield('nazwa kategorii', max_length=30) class meta: verbose_name = "kategoria" verbose_name_plural = "kategorie" def __str__(self): return self.nazwa
in tests.py:
import unittest blog.models import kategoria class kategoriatestcase(unittest.testcase): def setup(self): self.nazwa = 'nowa_kategoria' def test_tworzenie_obiektu(self): tworzenie_nowej_kategoria=kategoria.objects.create(self.nazwa) self.asserttrue(tworzenie_nowej_kategoria) self.assertequal(nowa_kategoria.nazwa,'nowa_kategoria')
on end test fails because:
typeerror: create() takes 1 positional argument 2 given
what doing wrong?
create
takes keywords arguments.
in test_tworzenie_obiektu
method change
tworzenie_nowej_kategoria = kategoria.objects.create(self.nazwa) ^^^^
to
tworzenie_nowej_kategoria = kategoria.objects.create(nazwa=self.nazwa)
so method should be
def test_tworzenie_obiektu(self): tworzenie_nowej_kategoria = kategoria.objects.create(nazwa=self.nazwa) self.asserttrue(tworzenie_nowej_kategoria) self.assertequal(nowa_kategoria.nazwa,'nowa_kategoria')
Comments
Post a Comment