MyFaces core provides a submodule for running integration tests in various environments and configurations. The module can be found at core/integration-tests. The different submodules of the integration-test module include different configurations and environments (e.g. servlet 2.5 and el 1.0 or servlet 3.0 and el 2.2).
The MyFaces core integration tests use the cargo maven plugin to start and stop different containers and use HtmlUnit to write the test cases against the running container.
Running a core build with integration-tests
Adding the profile "integration-tests" to the maven build will automatically add the integration-tests submodule and thus execute all integration-tests.
mvn clean install -Pintegration-tests
Running a specific integration-test module
Just go to the desired integration-test module and execute a standard maven build lifecycle, e.g.
cd integration-tests/servlet25-el10-basic-tests/ mvn clean install
Starting an integration-test environment for manual tests
The cargo maven plugin provides a mojo for running a container with the given configuration until Ctrl+C is entered in the console (just like the jetty-maven-plugin).
mvn clean package cargo:run
Creating a new integration-test submodule with a specific configuration