You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Next »

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 goals to start/stop the server and deploy/undeploy modules are provided by our geronimo-maven-plugin. Their results can be logged into the target/surefire-reports directory in the surefire xml format. The individual tests are written in TestNG and invoked by the maven-surefire-plugin.  After all the tests are run, running the mvn site goal will create surefire reports for the tests which can then be viewed in a browser. A set of modules are provided for testing purposes. They are in the geronimo/testsupport directory. This pom.xml gets built during the beginning of the build cycle and provides various j2ee archives for use by the testsuite.

geronimo-maven-plugin

http://geronimo.apache.org/maven/server/maven-plugins/geronimo-maven-plugin/index.html

Testing the Console

The console-testsuite under geronimo/testsuite tests the console using Selenium (http://openqa.org).  This requires a special server process started which is provided by our geronimo-selenium-plugin.  There is only one test class right now, SimpleLoginTest, which does just that. It logs in and then logs out. There is another that logs in and clicks some links.  You should see Firefox popup a few times as Selenium goes about
clicking on stuff.  Right now its only really doing validation of the console page's titles.

geronimo-selenium-plugin

http://geronimo.apache.org/maven/server/maven-plugins/selenium-maven-plugin/index.html

  • No labels