Перейти к основному контенту
Tech Path Finder
КурсыИнтервьюКод-ревьюБлог
Tech Path Finder

Персонализированный путеводитель в IT. Квизы, мок-интервью, код ревью и аналитика прогресса.

@potapov_me

Платформа

  • Курсы
  • Прогресс
  • Мок-интервью
  • Код ревью
  • Тренажёр переговоров
  • Закладки

Контент

  • Блог
  • Главная
  • Обратная связь

Компания

  • О проекте
  • Тарифы
  • Условия использования
  • Конфиденциальность
  • Согласие на обработку данных
  • Cookie
  • Реквизиты

Аккаунт

  • Войти
  • Зарегистрироваться
  • Профиль

© 2026 Tech Path Finder. Все права защищены.

·ИП Потапов К.С.·Политика конфиденциальности·
Сделано с ❤️ в России
  1. CI/CD: Автоматическая детекция Flaky Tests
ci_cd_flaky_detection

CI/CD: Автоматическая детекция Flaky Tests

Настраиваем автоматическое обнаружение flaky-тестов: повторные прогоны, статистический анализ, карантин

Flaky tests — тесты которые падают случайно. Автоматическое обнаружение критично для production CI/CD.

pytest-flaky

pip install pytest-flaky
import pytest @pytest.mark.flaky(reruns=3, reruns_delay=2) def test_api_with_timeout(): """Тест который может случайно упасть""" response = requests.get("http://api/slow-endpoint", timeout=1) assert response.status_code == 200

GitHub Actions integration

- name: Run tests with flaky detection run: | pytest --flaky-report=flaky-report.txt -v - name: Check for flaky tests if: always() run: | if [ -f flaky-report.txt ]; then echo "⚠️ Flaky tests detected!" cat flaky-report.txt fi

Quarantine strategy

# tests/conftest.py def pytest_collection_modifyitems(items): """Mark known flaky tests""" flaky_tests = [ "test_external_api_timeout", "test_race_condition" ] for item in items: if item.nodeid in flaky_tests: item.add_marker(pytest.mark.quarantine) item.add_marker(pytest.mark.xfail(reason="Known flaky test"))

Следующий урок: Финал: Production CI/CD проект

Проверьте свои знания

Вопросы ещё не добавлены

Вопросы для этой подтемы ещё не добавлены.

Далее: CI/CD: Quality Gates и защита main