Я использую Mock , и я не могу корректно исправить функцию render_to_response в django.Например, следующий тест никогда не проходит:
from django.test.client import Client
from mock import patch
import nose.tools as nt
@patch('django.shortcuts.render_to_response')
def test_should_fail(self, render_to_response):
def assert_response(url, context, context_instance):
nt.assert_false(True)
render_to_response.side_effect = assert_response
response = Client().get('/some/url/')
Что я делаю не так?
Обновление: Причина, по которой я хочу это сделать, заключается в том, что, на мой взгляд,, Я передаю ответ как:
form = SomeFormClass(label_suffix='')
return render_to_response('admin/send_info_message.html', {'form': form,}, context_instance=RequestContext(request))
В моем тесте я хочу проверить правильность вызова этих параметров, например:
def assert_response(url, context, context_instance):
nt.assert_equal('admin/survey_question.html', url)
nt.assert_equal({'form': SomeForm()}, context)
nt.assert_equal(RequestContext(response.request), context_instance)
render_to_response.side_effect = assert_response