Профилирование и оптимизация тестов Rails-приложений

8 участников

О чём курс

Одно ожидание тестов на CI может занимать часы — здесь показывают, как сократить время выполнения сьюта в разы без масштабного рефакторинга архитектуры приложения. Воркшоп сфокусирован на поиске «бутылочных горлышек» в коде тестов и их устранении с минимальными трудозатратами.

Внутри разбираются инструменты для профилирования Ruby-кода, включая Stackprof и Vernier, а также специализированный пакет TestProf. Вы научитесь анализировать флеймграфы, находить медленные типы тестов с TagProf и оптимизировать работу с фабриками. Отдельное внимание уделяется методам переиспользования данных в RSpec через before_all, let_it_be и AnyFixture. Материал предназначен для разработчиков на Ruby on Rails, которые хотят ускорить цикл обратной связи и снизить расходы на CI-инфраструктуру.

Программа обучения

  • День 1. Проблема медленных тестов. Профилирование тестов как обычного Ruby-кода
    • Обсуждение влияния скорости тестов на процесс разработки
    • Внешние способы ускорения без профилирования
    • Работа с инструментами профилирования: StackProf, RubyProf, Vernier
    • Чтение флеймграфов
    • Типичные проблемы конфигурации тестов
  • День 2. Подробное знакомство с TestProf. Профилирование фабрик
    • Инструменты TestProf для профилирования
    • Выделение медленных типов через TagProf
    • Анализ влияния методов и событий через EventProf
    • Профилирование использования фабрик с FactoryProf
  • День 3. Оптимизация тестов с помощью переиспользования данных. Автоматизация профилирования и рефакторинга
    • Использование before_all и let_it_be для переиспользования данных в RSpec
    • Глобальные фикстуры через AnyFixture
    • Техники рефакторинга тестов
Складчина создана 1 июля 2024 г. · описание обновлено 23 марта 2026 г.
1 332 ₽ 4 900 ₽