In chapters 10 and 11, we implemented ways to automatically execute tests by using tools such as Maven and Gradle. The build then triggered our tests. Now it is time to go to the next level: automatically executing the build and the tests at regular intervals using other popular tools. In this chapter, we will explore the paradigm of continuous integration and demonstrate how to schedule projects to be built automatically at a particular time.
Integration tests are usually time consuming, and as a single developer, you may not have all the different modules built on your machine. Therefore, it makes no sense to run all of the integration tests during development time. That is because, at development time, we are focused on our module, and all we want to know is whether it works as a single unit. At development time, we are mostly concerned that if we provide the right input data, the module behaves as expected and produces the expected result.