Arquillian is one of the most classical integration test frameworks for JVM (Java Virtual Machine)-based applications, currently maintained by Red Hat. Its main particularity consists in the fact that, in order to facilitate integration testing through the maven lifecycle, it allows the deployment of the tested applications on an embedded, managed, or remote Jakarta EE-compliant container, like Payara.
From Manual To Automated Integration Testing
Historically speaking, the integration testing process used to be a highly manual activity, consisting of deploying the application on the application server before running the test cases. This is especially due to the utilization of building tools like maven which default lifecycle provisions the integration test phase, named verify, just before install and deploy. This means that in-container integration tests cannot be performed in an out-of-the-box manner with such tools, because they are run before the deployment phase, despite the fact that, in order to be run, they require applications to be deployed. So, we find ourselves in a kind of circular problem here: in order to test the application we need to deploy it first, and, in order to deploy it, we need to test it first. This is why integration tests were traditionally performed manually.