ipython의 HttpResponse
개체의 context
특성에 액세스 할 수 없습니다. 그러나 단위 테스트는 context
에 액세스합니다.Django : 테스트 클라이언트의 컨텍스트가 셸에서 비어 있습니다.
다음은 단위 테스트입니다. 테스트 실행이 제대로 전달 : 여기
from django.test import Client, TestCase
from django.core import mail
class ClientTest(TestCase):
def test_get_view(self):
data = {'var': u'\xf2'}
response = self.client.get('/test04/', data)
# Check some response details
self.assertContains(response, 'This is a test')
self.assertEqual(response.context['var'], u'\xf2')
내가 쉘에서 사용되는 코드입니다 :
response.context
는 단위 테스트에 존재하는 반면
In [10]: from django.test import Client
In [11]: c = Client()
In [12]: r = c.get('/test04/', data)
In [13]: r.context
In [14]: type(r.context)
Out[14]: <type 'NoneType'>
response.context
는 셸에서 none입니다.
HttpResponse
이 쉘과 유닛 테스트 사이에서 일관되게 작동하지 않는 이유는 무엇입니까?
나는 이것을 직접 시도하고 컨텍스트도 템플릿도 장고 껍질에 설정되어 있지 않다. 클라이언트가 대화 형 셸에서 사용되도록 의도되지 않은 것 같습니다. 테스트 주자는 테스트를 실행하기 전에 계기를 만들어 쉘을 통해 트리거되지 않습니다. 'django.test.testcases'를보세요. – muhuk