Today I was trying to implement some ideas from JetConf 2016 on our project.
We have a pretty large project with around 2000 classes and 1500 unit tests. Build process is built on Gradle. My idea was to have continuous tests running to be sure that I see test failures right away.
So I installed infinitest plugin for IntelliJ which immediately brought IDE to the knees. Extending compiler memory helped for some reason however Infinitest seemed stuck somewhere in the 1/4 of our suite. So far so good. Various forums have shown that others didn’t get much success with Gradle, IntelliJ IDEA and Infinitest.
So I found out that versions of Gradle since 2.5+ have continuous build mode. Well it works. If I run “gradle -t test” – the changes in source files are correctly detected and tests are rerun. But it’s not smart. It reruns all of the tests while I hoped for the best. It does not detect source code changes precisely to rerun only unit tests which were affected. So continuous mode in Gradle should be pretty useful for continuous builds and deployment but not for precise continuous testing.