Я пытаюсь выполнить модульные тесты в Django. У меня есть следующая форма в index.html
:
<form method=POST>
{% csrf_token %}
<input name=itemT>
</form>
И я проверяю, правильно ли отображает шаблон:
views.py
def homePage(request):
return render(request, 'index.html')
tests.py:
request = HttpRequest()
response = homePage(request)
if response:
response = response.content.decode('UTF-8')
expectedHTML = render_to_string('index.html')
self.assertEqual(response, expectedHTML)
response
имеет скрытое поле ввода с токеном csrf; однако expectedHTML
не существует (есть только пустая строка в месте {% csrf_token %}
). Таким образом, утверждение всегда терпит неудачу.
Можно ли создать render_to_string()
поле ввода csrf? Если это так, будет ли токен response
таким же, как и у expectedHTML
?
Или, есть ли способ игнорировать поле ввода, чтобы тест мог быть успешным?