Продвинутый Django 5 для продолжающих

Прогресс по курсу:  0/193

4.3 Создание нового проекта и введение в Django тестирование
3 из 3 шагов пройдено

Django — полноценный веб-фреймворк, написанный на Python. Он поставляется с автоматизированной средой тестирования, используемой для написания модульных тестов. Эта среда автоматизированного тестирования является расширением среды модульного тестирования Python.

Фреймворк автоматизированного тестирования Django

Вот краткий обзор среды автоматизированного тестирования Django.

SimpleTestCase или TestCase?

У нас есть два класса, которые наследуются от django.test базового класса. Это SimpleTestCase и есть TestCase.

Класс SimpleTestCase является производным от TestCase класса и пишет тесты, не связанные с выполнением запросов к базе данных. В отличие от этого, мы используем TestCase класс, если тест включает выполнение запросов к базе данных.

Методы setUpи tearDown 

Внутри тестового класса мы обычно используем два метода — методы setUp и tearDown. Метод setUp выполняет действие, которое запускается перед вызовом каждого тестового метода. Это может помочь создать центральное место для инициализации нашей базы данных перед выполнением тестов, включающих базу данных.

С другой стороны, метод tearDown делает обратное. Он вызывается после вызова каждого тестового метода и завершения его теста. Здесь мы можем выполнить любое действие по очистке. Этот метод выполняется независимо от того, оценивает ли метод теста значение True или False.

Рекомендуется, чтобы вы очень развернуто называли свои методы тестирования — например, test_user_profile_model.
В дополнение к этому, каждый метод тестирования должен начинаться со слова, test чтобы среда тестирования Django могла узнать, что это тест, и запустить это.

 

Утверждения 

Внутри тестового метода у нас есть утверждения, используемые для оценки двух операндов, чтобы увидеть, соответствует ли значение слева значению справа. Если они совпадают, мы имеем успешное утверждение. Если это не соответствует, у нас есть неудачное утверждение.

Вот несколько утверждений:

  • assertIsNone: Это утверждение проверяет, имеет ли операнд значение None.
  • assertIsInstance: Это утверждение проверяет, является ли операнд в левой части экземпляром операнда в правой части.
  • assertEqual: Это утверждение проверяет, соответствует ли операнд в левой части операнду в правой части.
  • assertRaises: Это утверждение проверяет, вызывает ли рассматриваемый операнд конкретное исключение. Это может быть полезно, если мы ожидаем, что конкретная тестовая функция вызовет конкретное исключение.
  • assertIn: Это утверждение проверяет, содержится ли элемент операнда в левой части в элементе операнда в правой части. Например, мы можем проверить, соответствует ли вывод HTML тому, что мы ожидаем.
  • assertTrue: Это утверждение проверяет, является ли рассматриваемый операнд True.
  • assertFalse: Это утверждение проверяет, утверждает ли рассматриваемый операнд значение False.

Будьте вежливы и соблюдайте наши принципы сообщества. Пожалуйста, не оставляйте решения и подсказки в комментариях, для этого есть отдельный форум.
Оставить комментарий
Нет обсуждений. Начните первое.