Maven 2 FIT plugin

Run all FIT tests from src/test/fit/ and produce resulting HTML to target/fit-reports/.

Uses FIT 1.1 and the FolderRunner from FitLibrary.

FitLibrary is not in the central maven repository. Download and do:

install:install-file -Dfile=fitlibraryRunnerXls.jar -DgroupId=net.sourceforge.fitlibrary -DartifactId=fitlibraryRunnerXls -Dversion=20070217 -Dpackaging=jar

Installation

  • Get the sources from the subversion repository. Istall to the local repository using: mvn install
  • To run your FIT tests, do: mvn se.optime:maven-fit-plugin:1.0-SNAPSHOT:fit
  • Your fixture classes should be in the maven 'test' classpath (for example a dependent jar or included in the compilation of src/test/java/).

Classloader

FolderRunner is invoked in a new classloaded with a classpath containing the project's classpath as well as the dependencies of this plugin (no need to include fit and fitlibrary in every project).

The plugin does Thread.currentThread().setContextClassLoader(classLoader); to allow the system-under-test to use the same classloader. This is needed for Spring contexts.

Known issues

Currently the reports will just go into the target/fit-reports/. They will not be included in a generated site.

Classloading seems to have flaws. You might get:

 [INFO] [fit:fit]
Could not find 'css/fitnesse.css' in classpath. Probably FIT is not available.
Could not find 'images/collapsableClosed.gif' in classpath. Probably FIT is not available.
Could not find 'images/collapsableClosed.gif' in classpath. Probably FIT is not available.
[ERROR] FATAL ERROR
[INFO] Reflection error 'null'. Can not start FitRunner.
Caused by: java.lang.reflect.InvocationTargetException
Caused by: java.lang.NullPointerException
        at fitlibrary.runner.FolderRunner.createFileIfNeeded(FolderRunner.java:304)

The workaround is to add the 'files' folder to your test sources, containing css and images.