2016-03-29 2 views
3

я использовал, чтобы увидеть следующие тесты в Django:Джанго проверить правильный шаблон, используемый: с self.assertTemplateUsed()

with self.assertTemplateUsed('<someTemplate>'): 
    response = self.client.get('<someURL>') 
    self.assertEqual(response.status_code, 200) 

Вопрос:

Так как мы уже имели with часть, является его необходимо проверить status_code? Другими словами, является ли окончательное утверждение избыточным?

ответ

3

Всегда рекомендуется тестировать status_code даже с шаблонами рендеринга.

Django дает вам возможность передавать код состояния по вашему желанию при создании шаблонов.

Оба render() и render_to_response принимают status как аргумент ключевого слова, чтобы вы могли отобразить страницу с кодом состояния, который, по вашему мнению, подходит для представления.

Таким образом, вы можете визуализировать шаблоны с любым кодом статуса отклика не только 200. Это дает вам повод проверить код состояния при использовании assertTemplateUsed в качестве менеджера контекста.

1

Это не избыточно, если приложение может отправлять разные ответы, используя тот же шаблон. В общем случае, используя assertTemplateUsed, все в порядке.

Смежные вопросы