2017-04-08 8 views
0

DjangoのWebサイトにカスタム登録フォームのテストを作成しようとしていますが、python manage.py testを実行するとエラーが発生します。私は次のテストを実行しようとしています:Django登録テストスクリプトが実行されていません

def test_registration_valid_view(self): 
    ''' 

    ''' 
    pass 
    user_count = User.objects.count() 
    form_data = {'username': '[email protected]', 
       'first_name': 'Test', 
       'last_name': 'Person', 
       'password1': 'admin123', 
       'password2': 'admin123'} 
    response = self.client.post("/sign-up/", 
           form_data) 

    self.assertEqual(response.status_code, 200) 
    self.assertEqual(User.objects.count(), user_count+1) 

をしかし、私は次のエラーを取得しています:

====================================================================== 
ERROR: test_registration_valid_view (accounts.tests.RegistrationTests) 
---------------------------------------------------------------------- 
Traceback (most recent call last): 
    File "/Users/haldunanil/Desktop/cashonly/accounts/tests.py", line 59, in test_registration_valid_view 
    form_data) 
    File "/Users/haldunanil/anaconda/envs/ebenv/lib/python3.6/site-packages/django/test/client.py", line 541, in post 
    secure=secure, **extra) 
    File "/Users/haldunanil/anaconda/envs/ebenv/lib/python3.6/site-packages/django/test/client.py", line 343, in post 
    secure=secure, **extra) 
    File "/Users/haldunanil/anaconda/envs/ebenv/lib/python3.6/site-packages/django/test/client.py", line 409, in generic 
    return self.request(**r) 
    File "/Users/haldunanil/anaconda/envs/ebenv/lib/python3.6/site-packages/django/test/client.py", line 494, in request 
    six.reraise(*exc_info) 
    File "/Users/haldunanil/anaconda/envs/ebenv/lib/python3.6/site-packages/django/utils/six.py", line 686, in reraise 
    raise value 
    File "/Users/haldunanil/anaconda/envs/ebenv/lib/python3.6/site-packages/django/core/handlers/exception.py", line 42, in inner 
    response = get_response(request) 
    File "/Users/haldunanil/anaconda/envs/ebenv/lib/python3.6/site-packages/django/core/handlers/base.py", line 187, in _get_response 
    response = self.process_exception_by_middleware(e, request) 
    File "/Users/haldunanil/anaconda/envs/ebenv/lib/python3.6/site-packages/django/core/handlers/base.py", line 185, in _get_response 
    response = wrapped_callback(request, *callback_args, **callback_kwargs) 
    File "/Users/haldunanil/Desktop/cashonly/accounts/decorators.py", line 27, in wrap 
    return function(request, *args, **kwargs) 
    File "/Users/haldunanil/Desktop/cashonly/accounts/views.py", line 16, in registration 
    form.save() 
    File "/Users/haldunanil/Desktop/cashonly/accounts/forms.py", line 32, in save 
    group = Group.objects.get(name='Consumers') 
    File "/Users/haldunanil/anaconda/envs/ebenv/lib/python3.6/site-packages/django/db/models/manager.py", line 85, in manager_method 
    return getattr(self.get_queryset(), name)(*args, **kwargs) 
    File "/Users/haldunanil/anaconda/envs/ebenv/lib/python3.6/site-packages/django/db/models/query.py", line 385, in get 
    self.model._meta.object_name 
django.contrib.auth.models.DoesNotExist: Group matching query does not exist. 

---------------------------------------------------------------------- 

わからない問題はここで何です。何かご意見は?

答えて

0

このエラーはこのテストケースとは関係ありません。 Djangoはこの行に失敗している:

Group.objects.get(name='Consumers')

あなたが名前を「消費者との任意のグループを持っていません。 Djangoは単体テストのための新しいデータベースを設定するので、テストケースを実行する前にテストデータベースに値を設定する必要があります。

+0

ありがとうございました。 – halsdunes

関連する問題