我是新来django测试,并有一些问题,使用它们来测试模型之间的关系。Django模型关系测试
这里是我的模型的摘录:
class Member(models.Model):
user = models.OneToOneField('auth.User')
points = models.IntegerField()
def __unicode__(self):
return self.points
def get_number_of_poll(self):
nbr_of_poll = Poll.objects.filter(user=self.user).count()
return nbr_of_poll
class Poll(models.Model):
question = models.CharField(max_length=200)
user = models.ForeignKey(User)
def __unicode__(self):
return self.question
这里是测试:
from polls.models import Member, Poll
from django.contrib.auth.models import User
from django.test import TestCase
class MemberTestCase(TestCase):
def setUp(self):
user = User(username='user')
self.member = Member(user=user, points=5000)
poll = Poll(question='poll', user=user)
def test_get_number_of_poll(self):
self.assertEqual(self.member.get_number_of_poll(), 1)
的问题是与test_get_number_of_poll()
方法总是返回0代码工作的预期网站。 我在测试中做错了什么?我不知道我应该如何在测试课程中设定投票。
这很有道理。一旦测试完成,我是否应该使用'tearDown()'方法来移除它们,或者它会自动完成? – romainberger