일부 외부 서비스가 있습니다. 내 장고 앱은 외부 서비스 API 위에 구축됩니다. 내 외부 서비스와 이야기하기 위해, 나는 인증 쿠키를 전달해야만한다. 쿠키는 User
(그 쿠키! = django 쿠키)을 읽음으로써 얻을 수있다.Djano 테스트에서 사용자를 얻으려면 어떻게해야합니까?
, requests
과 같은 테스트 도구를 사용하여 테스트를 작성하는 데 어려움이 있습니다.
class MyTestCase(WebTest):
def test_my_view(self):
#client = Client()
#response = client.get(reverse('create')).form
form = self.app.get(reverse('create'), user='dummy').form
print form.fields.values()
form['name'] = 'omghell0'
print form
response = form.submit()
내 외부 서비스에 사용자를 만드는 양식을 제출해야합니다. 하지만 그렇게하기 위해 나는 보통 외부 서비스에 대한 나의 특권을 인증하기 위해 request.user
을 전달할 것입니다. 하지만 request.user
이 없습니다.
이러한 종류의 물건에는 어떤 옵션이 있습니까?
감사합니다 ...
는 가정이 내가
Traceback (most recent call last):
File "/var/lib/graphyte-webclient/webclient/apps/codebundles/tests.py", line 10, in setUp
self.usr = User.objects.get(username='dummy')
File "/var/lib/graphyte-webclient/graphyte-webenv/lib/python2.6/site-packages/django/db/models/manager.py", line 132, in get
return self.get_query_set().get(*args, **kwargs)
File "/var/lib/graphyte-webclient/graphyte-webenv/lib/python2.6/site-packages/django/db/models/query.py", line 341, in get
% self.model._meta.object_name)
DoesNotExist: User matching query does not exist
얻을
import unittest
from django.test.client import Client
from django.core.urlresolvers import reverse
from django_webtest import WebTest
from django.contrib.auth.models import User
class SimpleTest(unittest.TestCase):
def setUp(self):
self.usr = User.objects.get(username='dummy')
print self.usr
.......
내 tests.py입니다하지만 뷰의 User.objects
을 테스트하는 경우, 나는 괜찮아입니다 .
todd는 djangos 인증 시스템을 사용하는보기가 있으면 테스트 클라이언트를 사용하여 사용자를 로그인 할 수 있습니다. https://docs.djangoproject.com/en/dev/topics/testing/?from=olddocs#django.test.client.Client.login – dm03514
@Todd B thanks. 그것은 매우 도움이되었다! dm03514와 동일합니다. – User007