Objective
We have tests at the module level tests perform basic unit testing of the code in each module. We then have TCK tests that ensure Geronimo's compliance with the J2EE spec. Now the integration tests introduces a level of testing that falls beyond the scope of the unit tests or the TCK tests. It performs system level tests of features and functionalities that Geronimo provides to the end users. Since Geronimo is an integration platform for the various open source technologies, this integration tests verifies and ensures such a succesful aggregation.
The integration test is designed to be run after the assemblies are built but as a part of the same build process. So a quick run through the integration tests will also ensure and certify a "really" successful build. The integration test can also run standalone against a previously assembled Geronimo archive (for now, *.zip only).
Framework
The integration test is part of the regular geronimo tree and it resides under geronimo/testsuite. The child modules under this pom.xml are organized into various functional categories of the server. For eg., console-testsuite will perform tests on the console while the web-testsuites will perform tests against the web container. Each child module will perform the following basic steps
- installing the server
- starting it
- invoking the tests
- stopping the server.
The individual tests are written in TestNG and invoked by the maven-surefire-plugin.