1
我是一個單元測試新手執行在Django 1.4以下測試使用測試用例和模擬:在父類設置的Django測試用例錯誤
from django.test import TestCase
from mock import patch
class BaseRegistrationTestCases(TestCase):
def setUp(self, backend):
# use these common fields for building mock form data
self.form_fields = (
'form_email',
'form_companyname',
'form_companytype',
'form_region',
'form_socialgoals',
)
self.route = '/auth/registration/{backend}/'.format(backend=backend)
@patch('authentication.views.RegistrationView._get_user_by_backend')
@patch('authentication.views.RegistrationView._set_base_context')
def test_invalid_form(self, mock_legacy_uid, mock_base_context, invalid_form_data):
""" Should include invalid fields in context and serve error message """
mock_legacy_uid.return_value = 12348
mock_base_context.return_value = {}
self.response = self.client.post(self.route, invalid_form_data)
class FacebookRegistrationTestCases(BaseRegistrationTestCases):
def setUp(self):
super(FacebookRegistrationTestCases, self).setUp('facebook')
def test_invalid_form(self):
invalid_form_data = {form_field: "" for form_field in self.form_fields}
super(FacebookRegistrationTestCases, self).test_invalid_form(invalid_form_data=invalid_form_data)
for field in self.form_fields:
invalid_key = field + '_invalid'
self.assertEqual(self.response.context[invalid_key], 1)
的測試失敗,錯誤如下:
======================================================================
ERROR: test_invalid_form (authentication.tests.BaseRegistrationTestCases)
Should include invalid fields in context and serve error message
----------------------------------------------------------------------
TypeError: setUp() takes exactly 2 arguments (1 given)
任何幫助非常感謝!