django unit-test登录用户导致“重复输入”错误

时间:2013-01-06 01:56:57

标签: python django django-unittest

我有以下测试

Class FriendsTest(TestCase):

    # always login user
    def setUp(self):
        self.user = User.objects.all().order_by('date_joined')[0]
        self.client.login(facebook_id = self.user.get_profile().facebook_id)

    def test_test(self):
        r = self.client.get(reverse('web.views.friends.main'))
        self.assertEqual(r.status_code, 200)

    def test_test2(self):
        r = self.client.get(reverse('web.views.friends.main'))
        self.assertTemplateUsed(r, 'web/friends.html')
        # and some test for GET data here.

如果我只有一个测试方法(test_test),则测试有效。但是当我有多个方法(test_test2)时,我不断收到错误“IntegrityError:无法加载web.CustomProfile(pk = 1):( 1062,”密钥'id_user'的复制条目'1'“)。

错误跟踪如下。我真的很感激任何帮助。

  

。安装夹具'/Users/ruixia/public_html/x/project/web/fixtures/data.json':Traceback(最近一次调用最后一次):

     

文件“/Users/ruixia/virt_env/x/lib/python2.7/site-packages/django/core/management/commands/loaddata.py”,第196行,句柄       obj.save(使用利用=)

     

文件“/Users/ruixia/virt_env/x/lib/python2.7/site-packages/django/core/serializers/base.py”,第165行,保存       models.Model.save_base(self.object,using = using,raw = True)

     

文件“/Users/ruixia/virt_env/x/lib/python2.7/site-packages/django/db/models/base.py”,第551行,在save_base中       result = manager._insert([self],fields = fields,return_id = update_pk,using = using,raw = raw)

     

文件“/Users/ruixia/virt_env/x/lib/python2.7/site-packages/django/db/models/manager.py”,第203行,在_insert中       return insert_query(self.model,objs,fields,** kwargs)

     

文件“/Users/ruixia/virt_env/x/lib/python2.7/site-packages/django/db/models/query.py”,第1576行,在insert_query中       return query.get_compiler(using = using).execute_sql(return_id)

     

文件“/Users/ruixia/virt_env/x/lib/python2.7/site-packages/django/db/models/sql/compiler.py”,第910行,在execute_sql中       cursor.execute(sql,params)

     

文件“/Users/ruixia/virt_env/x/lib/python2.7/site-packages/django/db/backends/mysql/base.py”,第114行,执行       return self.cursor.execute(query,args)

     

文件“/Users/ruixia/virt_env/x/lib/python2.7/site-packages/MySQLdb/cursors.py”,第201行,执行       self.errorhandler(self,exc,value)

     

文件“/Users/ruixia/virt_env/x/lib/python2.7/site-packages/MySQLdb/connections.py”,第36行,在defaulterrorhandler中       提出错误类,错误值   IntegrityError:无法加载web.CustomProfile(pk = 1):( 1062,“密钥'id_user'的重复条目'1'”)

0 个答案:

没有答案