Могу ли я получить доступ к контексту ответа тестируемого представления без тестового клиента?

У меня есть функция, которую я вызываю из юнит-теста. Из настройки некоторых отладочных трасс я знаю, что функция работает как шарм и имеет все значения, правильно подготовленные для возврата.

Вот как выглядит мой тестовый код (посмотрите, где находится мой ipdb.set_trace()):

@override_settings(REGISTRATION_OPEN=True)
def test_confirm_account(self):
    """ view that let's a user confirm account creation and username
        when loggin in with social_auth """    
    request = self.factory.get('')
    request.user = AnonymousUser()
    request.session={}
    request.session.update({self.pipename:{'backend':'facebook',
                                           'kwargs':{'username':'Chuck Norris','response':{'id':1}}}})

    # this is the function of which i need the context:
    response = confirm_account(request)
    self.assertEqual(response.context['keytotest'],'valuetotest')

Из того, что я знаю из этой части документации Django , я бы иметь доступ к response.context, когда я использовал тестовый клиент. Но когда я пытаюсь получить доступ к response.context, как я это делал, я получаю это:

AttributeError :Объект «HttpResponse» не имеет атрибута «контекст»

Есть ли способ получить специальный объект HttpResponse клиента, без использования клиента?

9
задан marue 13 April 2012 в 20:44
поделиться