5

最初のテストを実行しようとしています。テストは次のエラーで失敗します。

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

2 に答える 2

8

setUpではなく、メソッドを使用する必要がありsetupます。このメソッドは、すべてのテストを実行する前に呼び出されます。

class BatchTestCase(TestCase):

    def setUp(self):
         # create test objects here

    # ...
于 2013-07-12T10:12:39.853 に答える
6

getデータベースにレコードを作成せず、実際にレコードを取得しようとします。データベースにそのようなレコードが見つからず、DoesNotExist エラーが発生します。

次のようなものを使用する必要があります。

contact = Contact(mobile="07000000000", contact_owner=user, group=None)
contact.save()
于 2013-07-12T10:13:41.970 に答える