So far, we've covered almost every aspect of what testing in practice is. We've learned what can be done with Codeception at all the levels of testing: unit, functional, and acceptance. We've covered additional resources on how to improve and debug your tests while looking at architectural choices and long-term considerations.
To keep it short, in this chapter, we're going to take the final step, which is nowadays considered as the best practice: continuous integration.
We are going to understand what a continuous integration system is, and what the choices that we have are. We'll also start working with Jenkins.
In this chapter, we will discuss everything that we need to install and configure. ...