Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django test DoesNotExist:联系人匹配查询不存在_Python_Django - Fatal编程技术网

Python Django test DoesNotExist:联系人匹配查询不存在

Python Django test DoesNotExist:联系人匹配查询不存在,python,django,Python,Django,我正在试着进行我的第一次测试。测试失败,原因是: DoesNotExist:联系人匹配查询不存在。查找参数为{'mobile':'07000000000'} 我似乎在设置功能中创建了用户联系人,为什么它不可用 谢谢 test.py class BatchTestCase(TestCase): def setup(self): user = User.objects.get(username='glynjackson') contact = Conta

我正在试着进行我的第一次测试。测试失败,原因是:

DoesNotExist:联系人匹配查询不存在。查找参数为{'mobile':'07000000000'}

我似乎在设置功能中创建了用户联系人,为什么它不可用

谢谢

test.py

class BatchTestCase(TestCase):

    def setup(self):
         user = User.objects.get(username='glynjackson')
         contact = Contact.objects.get(mobile="07000000000", contact_owner=user, group=None)


    def test_get_contact(self):
        contact = Contact.objects.get(mobile='07000000000')
        self.assertEqual(contact.full_name(), 'Got Contact')
完全错误

ERROR: test_get_contact (sms.tests.test_sms_simulation.BatchTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/user/Documents/workspace/example/sms/tests/test_sms_simulation.py", line 18, in test_get_contact
    contact = Contact.objects.get(mobile='07000000000')
  File "/Users/user/Documents/workspace/example/django-env/lib/python2.7/site-packages/django/db/models/manager.py", line 143, in get
    return self.get_query_set().get(*args, **kwargs)
  File "/Users/user/Documents/workspace/example/django-env/lib/python2.7/site-packages/django/db/models/query.py", line 389, in get
    (self.model._meta.object_name, kwargs))
DoesNotExist: Contact matching query does not exist. Lookup parameters were {'mobile': '07000000000'}

您应使用
设置
方法,而不是
设置
。在运行每个测试之前调用此方法

class BatchTestCase(TestCase):

    def setUp(self):
         # create test objects here

    # ...

get
不在数据库中创建记录,而是尝试实际获取记录。它在数据库中找不到这样的记录,并引发错误DOESNOTEXTIST

您应该使用以下内容:

contact = Contact(mobile="07000000000", contact_owner=user, group=None)
contact.save()

这解决了我的问题。非常感谢。