Introduction

The SHITTY, S uper H elpful I ntegration T esting T hingY , plugin provides a simple way to run integration tests for a project (single module or multi-module).

The plugin is basically an aggregation of a few standard plugin goals with slightly augmented behavior tailored for integration testing purposes. Here is basically what it is doing:

  • Removes all integration test module output and logs.
  • Installs the current modules artifact with the version testing , so that the test can be 100% which artifact is being used.
  • Invoke child Maven processes on each of the integration test modules and capture the results.

The goals of the plugin are setup to run around the integration-test phase and related phases, and the testing artifact installation happens before the normal install phase, and the install phase will only propagate the real versioned artifact into the repository once all of the integration test modules have run successfully. If one of them fails, then the build fails (after all of the integration tests have been run).

Setup and validation of integration tests are fairly common, so SHITTY provides hooks to invoke Groovy scripts before and after test execution to run special magic.

Examples

More often than not, its easier to comprehend a new tool by seeing how it is being used. Here are some projects which are already using the SHITTY plugin for their integration tests:

For a good idea on how its being used, take a look at each projects top-level pom.xml and then look through the modules for src/it directories and then have a look at the pom.xml and goals.txt files to see how things are hooked up.

Versions

The current version of the SHITTY plugin is 1.0-alpha-2 .

It is relatively stable, but new features and some refactoring is being done to prepare for an official release.