Ответ
Тестирование в Python — это процесс автоматической проверки кода для подтверждения его корректной работы и предотвращения ошибок (регрессий) при будущих изменениях.
Основная цель — гарантировать, что каждая часть программы работает так, как от нее ожидается, как в изоляции, так и во взаимодействии с другими частями.
Основные виды тестов:
Unit-тесты (модульные)
: Проверяют наименьшие, изолированные части кода, например, одну функцию или метод класса.Интеграционные тесты
: Проверяют, как несколько компонентов системы работают вместе.End-to-end (E2E) тесты
: Тестируют приложение целиком, имитируя действия реального пользователя.
Популярные фреймворки:
unittest
: Входит в стандартную библиотеку Python, основан на xUnit.pytest
: Считается отраслевым стандартом благодаря простому синтаксису, мощным фикстурам и плагинам.
Пример теста с использованием pytest
:
# Файл: my_math.py
def add(a, b):
"""Простая функция сложения чисел."""
return a + b
# Файл: test_my_math.py
from my_math import add
def test_add_positive_numbers():
"""Тестирует сложение положительных чисел."""
assert add(2, 3) == 5
def test_add_negative_numbers():
"""Тестирует сложение отрицательных чисел."""
assert add(-1, -1) == -2
Для запуска тестов достаточно выполнить в терминале команду pytest
. Фреймворк автоматически найдет и выполнит все тесты.