Continuous Integration

From Giews

Jump to: navigation, search

There are load of definitions for Continous integration. For Fenix it is implemented in this way: We use Continuum as our continuous integration server. Every hour unit- integration- and functional tests are run. In case of failure, an email will be send.

Continuum installation manual

The link to our Continuum server (only Fao internally) continuum

The component diagram shows the fenix projects. These projects are in SVN and monitored by Continuum. The diagram shows only the build-time dependencies, not the run-time dependencies.







There are Samba links to the development and demo server: \\ldvapp07\Tomcat-FENIXDEV \\ldvapp07\Tomcat-FENIXDEMO

Image:Fenix-project.jpg

[edit] Unit Testing

For unittesting JUnit can be used. It is recommended to cover all classes with unit tests with the following exceptions:

  • value objects (VO's)
  • data transfer object (DTO's)

[edit] Integration Testing

For Integration testing, HTMLUnit can be used. See also the project fenix-integration-test

This project contains integration tests for Fenix. Via continuum, this project will check the following url's on the dev and demo instance of Tomcat and ldvap:

  • fenix-web
  • fenix-birt
  • axis
  • geoserverdemo

If you know of any important Url for Fenix to check, please add this to this project. In the project is an enumeration class with all relavant url's.

[edit] Functional Testing

Packages wich can be used to do automated functional testing are:

-- http://selenium.openqa.org/ --- I tried this one and it looks quite promising. There is a plugin into Firefox and you can use the application while Selenium is recording your actions and creating a script. The script can be reflected in Java as a Unit test.

Even though promising, it is not stable yet for the Java part. I read that they have worked on scriptaculous integration. For the Fenix GWT part however it did fail.

At the moment I am working on GWTTestCase. With this class it should be possible to do functional testing. GWTTestCase report

Personal tools