РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
766 of 818 menu

assertTemplateNotUsed

Метод assertTemplateNotUsed является методом класса TestCase и используется для проверки, что указанный шаблон не был использован для рендеринга ответа. Он принимает обязательный аргумент - имя шаблона, а также необязательный аргумент для проверки заголовков ответа. Метод выбрасывает исключение AssertionError, если шаблон был использован.

Синтаксис

self.assertTemplateNotUsed(response, template_name, count=0, status_code=200, msg_prefix='')

Параметры метода:

  • response - объект ответа, полученный от клиента.
  • template_name - строка с именем шаблона, который не должен быть использован.
  • count - количество раз, которое шаблон не должен быть использован. По умолчанию 0.
  • status_code - код состояния, который проверяется перед проверкой шаблона. По умолчанию 200.
  • msg_prefix - префикс для сообщения об ошибке. По умолчанию пустая строка.

Пример

Давайте проверим, что при открытии главной страницы не используется шаблон 'blog/post_detail.html':

from django.test import TestCase from django.urls import reverse class BlogTests(TestCase): def test_homepage_does_not_use_detail_template(self): response = self.client.get(reverse('home')) self.assertTemplateNotUsed(response, 'blog/post_detail.html')

Пример

Проверим, что после создания нового поста страница списка не использует шаблон формы:

from django.test import TestCase from django.urls import reverse from myapp.models import Article class ArticleTests(TestCase): def test_article_list_does_not_use_form_template(self): Article.objects.create(title='Test Article', content='Content') response = self.client.get(reverse('article_list')) self.assertTemplateNotUsed(response, 'myapp/article_form.html')

Результат выполнения кода:

"Тест пройден успешно (AssertionError не возникло)"

Пример

Проверим, что при ошибке 404 используется стандартный шаблон, а не кастомный:

from django.test import TestCase from django.urls import reverse class ErrorPageTests(TestCase): def test_custom_404_template_not_used(self): response = self.client.get('/nonexistent-page/') self.assertTemplateNotUsed(response, 'myapp/404.html')

Результат выполнения кода:

"Тест пройден успешно (шаблон 404.html не использован)"

Смотрите также

  • метод assertTemplateUsed,
    который проверяет использование шаблона
  • метод assertContains,
    который проверяет наличие контента в ответе
  • метод assertRedirects,
    который проверяет перенаправление
  • класс TestCase,
    в котором доступны все методы для тестирования
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить