Talk type: Talk

Caching Spring Context in Tests: How to Speed Up the Testing Process

  • Talk in Russian
Presentation pdf

In Wrike we have a few big spring contexts that are used in unit tests and managed by custom code. These big contexts are great in CI/CD because they allow you to save time by caching them. But in local development it's nothing but frustration because of how much time it takes to initialize a context to run a bunch of unit tests. Can we somehow eliminate this context initialization process and save our time and focus?

If you think about it, we can also reuse the Spring context in local development. The context itself does not change much during development, so you can cache the spring context in some way after test execution, do not shut down the JVM after test execution, and run next tests in the same JVM with cached context. Okay, now you can rerun tests ignoring the Spring initialization step, but how do we update our code? With the help of the hotswap feature!

In this talk, I'll introduce you to the IDEA plugin that allows you to do all this and save a ton of time. And also will demonstrate how you can write custom plugins for HotSwapAgent and why you may want to so.


Invited experts