我有一个是给我的错误以下Django的测试用例:问题测试
class MyTesting(unittest.TestCase):
def setUp(self):
self.u1 = User.objects.create(username='user1')
self.up1 = UserProfile.objects.create(user=self.u1)
def testA(self):
...
def testB(self):
...
当我运行我的测试,testA
将成功地通过,但之前testB
开始,我得到以下错误:
IntegrityError: column username is not unique
很明显,这是试图创建self.u1
每个测试用例前,发现它已经存在于数据库中。如何在每个测试用例之后正确清理它,以便后续案例正确运行?
谢谢!我现在遇到的问题是,当我删除up1时,删除不会级联和删除u1,即使我已将User指定为UserProfile的外键。例如'user = models.ForeignKey(User,unique = True)' – theycallmemorty 2010-05-15 15:00:16
实际上,您应该删除用户以一次性级联和删除用户配置文件,或者先删除用户配置文件,然后再删除用户。 – 2010-05-15 15:04:56
Bah ...我读的不是在文档中,但由于某种原因弄糊涂外键所指向的方向... – theycallmemorty 2010-05-15 16:09:00