📝 Задания урока

⚡ Задания кратко

  1. Правила именования в pytest: файлы и функции
  2. Написать фикстуру для Calculator
  3. Проверить, что метод выбрасывает исключение
  4. Применить маркировки skip/skipif/xfail/custom
  5. Сравнить pytest и ручное тестирование
Это задания из лекции. Решения — в разделе ✅ Решения.

Задание 1: Правила именования файлов и функций тестов в pytest

Какие правила именования файлов и функций тестов используются в pytest? Перечислите их. Приведите пример правильно названного файла и функции теста.

Задание 2: Фикстура pytest для подготовки общего ресурса

Как использовать фикстуры в pytest для подготовки общего ресурса для тестов?

Напишите фикстуру, которая создаёт экземпляр класса Calculator, и используйте её в двух тестах — для метода sum и для метода avg.

Задание 3: Проверка, что метод выбрасывает ожидаемую ошибку

Как проверить, что метод выбрасывает ожидаемую ошибку в pytest?

Напишите тест, который проверяет: при вызове calculator.div(10, 0) будет поднято исключение ArithmeticError с текстом "На ноль делить нельзя".

Задание 4: Маркировки для управления тестами

Как использовать маркировки в pytest для управления тестами? Напишите примеры для:

  1. Пропуска теста (@pytest.mark.skip)
  2. Условного пропуска (@pytest.mark.skipif) — при Python ниже 3.8
  3. Пользовательской маркировки positive_test и запуска тестов по ней

Задание 5: Сравнение pytest с ручным тестированием

Перечислите преимущества автоматизированного unit-тестирования с pytest по сравнению с ручным тестированием (подход с assert в скрипте). Назовите не менее четырёх.

← К оглавлению урока