내가 뭘 잘못하고 있는지 잘 모르겠습니다. 나는이 예제를 따르려고 노력하고있다. https://docs.djangoproject.com/en/1.6/topics/testing/advanced/#module-django.test.clientDjango 테스트를 RequestFactory로 실행하면 __init__.py 오류가 반환됩니다.
나는 나의 테스트를 만들었고 반환은 이상하다.
tests.py :
from django.contrib.auth.models import User
from django.test import TestCase
from django.test.client import RequestFactory
from project_name.app_name.views import ViewName
class UrlsViewsTest(TestCase):
def setUp(self):
# every test needs access to the request RequestFactory
self.factory = RequestFactory()
self.user = User.objects.create_user(username='dave', email='[email protected]', password='top_secret')
def tearDown(self):
# Delete those objects that are saved in setup
self.user.delete()
def test_view_name(self):
#Create an instance of a GET request
request = self.factory.get('/app/')
# Recall that middleware are not suported. You can simulate a
# logged-in user by setting request.user manually.
request.user = self.user
# Test ViewName() as if it were deployed at /app/
response = ViewName(request)
self.assertEqual(response.status_code, 200)
결과 :
Creating test database for alias 'default'...
E
======================================================================
ERROR: test_view_name (project_name.app_name.tests.UrlsViewsTest)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/Users/dave/sandbox/project_name/project_name/app_name/tests.py", line 25, in test_view_name
response = ViewName(request)
TypeError: __init__() takes exactly 1 argument (2 given)
----------------------------------------------------------------------
Ran 1 test in 0.168s
FAILED (errors=1)
Destroying test database for alias 'default'...
나는 무엇을 다음과 같은 방법을 알아낼 수 아니에요 :
TypeError: __init__() takes exactly 1 argument (2 given)
내가 밖으로 정렬 어떻게 무엇 그게 의미하고 어떻게 고칠 수 있니?
저는 Django Google 그룹스를 찾고 있으며 여기에 있습니다. 나는 예를 보지 않고있다.
'response = ViewName (request)'호출에 문제가 있습니다. 클래스 이름과 충돌하고 있습니까? – karthikr
ViewName이란 무엇입니까? 그것은 클래스 기반의 뷰 기능입니까? 그리고 테스트 클라이언트를 통해 의견을 나누고 싶지 않은 이유는 무엇입니까? –
'ViewName.as_view() (request)'시도 – sneawo