Доклад

Кэширование контекста Spring в тестах: как ускорить процесс тестирования

  • На русском языке
Презентация pdf

В Wrike в тестах используют несколько больших Spring-контекстов. В CI/CD малое количество таких больших контекстов в тестах, скорее, полезно, так как это позволяет сэкономить время с помощью кэширования. Однако при локальной разработке такие контексты только мешают, потому что время их инициализации велико и необходимо поднимать их каждый раз, когда мы хотим запустить тесты. Можно ли как-то решить эту проблему?

Да, например, так же переиспользовать Spring-контекст при локальной разработке. Spring-контекст во время разработки, как правило, меняется нечасто, поэтому так же, как и в CI/CD, можно кэшировать контекст между запусками тестов, не останавливать JVM после завершения исполнения тестов, а следующие тесты запускать в уже готовой JVM с кэшированным контекстом.

Казалось бы, проблема решается, но как обновлять код во время разработки? С помощью hotswap! DCEVM с HotSwap Agent будут использоваться для расширения возможностей hotswap.

Илья расскажет про плагин для IntelliJ IDEA, который позволяет делать все это и экономить время. Он также продемонстрирует, как можно писать плагины для HotSwap Agent самим.

Спикеры

Приглашенные эксперты

Расписание