Илья Чернов
Компания: Wrike
В Wrike в тестах используют несколько больших Spring-контекстов. В CI/CD малое количество таких больших контекстов в тестах, скорее, полезно, так как это позволяет сэкономить время с помощью кэширования. Однако при локальной разработке такие контексты только мешают, потому что время их инициализации велико и необходимо поднимать их каждый раз, когда мы хотим запустить тесты. Можно ли как-то решить эту проблему?
Да, например, так же переиспользовать Spring-контекст при локальной разработке. Spring-контекст во время разработки, как правило, меняется нечасто, поэтому так же, как и в CI/CD, можно кэшировать контекст между запусками тестов, не останавливать JVM после завершения исполнения тестов, а следующие тесты запускать в уже готовой JVM с кэшированным контекстом.
Казалось бы, проблема решается, но как обновлять код во время разработки? С помощью hotswap! DCEVM с HotSwap Agent будут использоваться для расширения возможностей hotswap.
Илья расскажет про плагин для IntelliJ IDEA, который позволяет делать все это и экономить время. Он также продемонстрирует, как можно писать плагины для HotSwap Agent самим.
Компания: Wrike
Компания: КРОК