Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Python: testing, coverage, pytest

Как можно покрыть код тестами? Какой процент покрытия кода считается оптимальным?

Вопрос проверяет понимание процесса тестирования и метрик покрытия кода.

Короткий ответ

Для покрытия тестами используют модульные (unittest, pytest) и интеграционные тесты. Оптимальное покрытие — 70-90%. 100% покрытие часто неоправданно дорого. Важнее тестировать критическую логику, чем гнаться за процентами.

Длинный ответ

1. Инструменты покрытия

  1. pytest + pytest-cov:

    pytest --cov=myapp tests/
  2. coverage.py:

    coverage run -m pytest
    coverage report

2. Рекомендации по покрытию

  • 70%: Минимум для серьёзных проектов

  • 80-90%: Стандарт для production-проектов

  • 100%: Только для критически важных компонентов

3. Пример теста

def test_lookup():
    	app.dict = {"test": "value"}
    	response = client.get("/lookup/test")
    	assert response.json() == {"value": "value"}

Когда использовать:

  • Модульные тесты: для отдельных функций

  • Интеграционные: для проверки взаимодействий

  • E2E: для полного цикла работы

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    2

  • Сложность:

    5

Навыки

  • Python

    Python

Ключевые слова

#testing

#coverage

#pytest

Подпишись на Python Developer в телеграм

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.