Django pytest AssertionError: должен возвращать юникод тела
Я изучал django-pytest и я пытался протестировать юникод, но получал ошибку
Мои модели
class Post(models.Model):
body = models.TextField()
value = models.CharField(max_length=5)
def __unicode__(self):
return self.body
тестовое задание
class TestPost:
def test_model(self):
obj = mixer.blend('birdie.Post')
assert obj.pk == 1, 'should create a post instance '
def test_uniccode(self):
obj = mixer.blend('birdie.Post',body='hello')
result = obj.__unicode__
assert result == 'hello', 'should return body unicode
У меня проблемы с тестированием юникода, я просто делал это, чтобы охватить все 100%
Любая помощь высоко ценится при прохождении теста. заранее спасибо
3 ответа
Решение
Конечно, я не понимаю, почему вы не приняли (это было принято 1 месяц назад) мой ответ. Это помогло тебе. Это ясно. Возможно, вы приняли ответ вашего друга. Что ж, удачи с таким отношением.
Вы должны позвонить
obj.__unicode__()
это должно работать нормально.
Это метод, поэтому вызывайте его как метод. Не забывайте о скобках.
class Group(models.Model):
name = models.TextField()
def __unicode__(self):
return self.name
obj = Group(name='test')
obj.save()
obj.__unicode__
<bound method Group.__unicode__ of <Group: test>>
obj.__unicode__()
u'test'