2013-07-12 2 views
0

첫 번째 테스트를 실행하려고합니다. 테스트가 실패합니다 :장고 테스트 DoesNotExist : 연락처 일치하는 쿼리가 없습니다.

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'} 

답변

3

get 데이터베이스에 레코드를 만들지 않고 실제로 레코드를 가져 오려고합니다. 데이터베이스에 이러한 레코드가 없으며 오류 DoesNotExist가 발생합니다.

당신은 같은 것을 사용해야합니다

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

당신은 setUp 방법,하지 setup을 사용하여야한다. 이 메소드는 모든 테스트를 실행하기 전에 호출됩니다.

class BatchTestCase(TestCase): 

    def setUp(self): 
     # create test objects here 

    # ... 
관련 문제