fitnesse:run

This goal uses the fitnesse.runner.TestRunner class for calling a remote FitNesse web page and executes the tests or suites locally into a forked JVM. It's possible to define several pages and/or servers.

Mojo Attributes:

  • Requires a Maven 2.0 project to execute.
  • Executes as an aggregator plugin.
  • Requires dependency resolution of artifacts in scope: runtime

Required Parameters

Name Type Description
fitnesses List This is the list of FitNesse server pages.

A FitNesse tag is compose of the nested tags:

<fitnesses>

<fitnesse>

<pageName>This is the only required parameter, the name of the FitNesse page</pageName>

<hostName>default is locahost</hostName>

<port>: default is 80;</port>

<serverId>ServerId defined in your settings.xml, this allows to use credentials (basic athentification) for calling your FitNesse pages</serverId>

<type>Override the default type of the page (Suite or Test).;</type>

</fitnesse>

...

</fitnesses>:

Optional Parameters

Name Type Description
artifactResolver ArtifactResolver Artifact resolver used to find clovered artifacts (artifacts with a clover classifier).
classPathProvider String This property defines how the plugin will create the classpath for running fixtures. It accepts a couple of value: "fitnesse" (default) or "maven".

With "fitnesse" mode, the classpath is downloaded from the FitNesse server page. Then classpath of the plugin is appended (for providing the good FitNesse implementation).

With "maven" mode the classpath is only defined with the one of the project (POM). Default value is fitnesse.
classPathSubstitutions List List of Classpath substitution. Substitutions allow to change the FitNesse class path.

It should be usefull when the server classpath is in a Unix syntaxe, or when libs are not located in the same folder on the server and on the developer desktop.

The order of substitutions is guaranteed to be the same than the definition.

The substitutions use String replacements (not patterns). <classPathSubstitutions>

  <classPathSubstitution>

    <search>The key that will be replace</search>

    <replaceWith>The value that should use to replace the key</replaceWith>

  </classPathSubstitution>

  ...

</classPathSubstitutions>:

This parameter can only be use if param classPathProvider has fitnesse value.
cmdFitnesseHostName String No description.
cmdFitnessePage String No description.
cmdFitnessePort int No description.
copyDependencies boolean Use shorter classpath. On Windows, the Win32 api doesn't allow to create a process via CMD.EXE that contains more than 8192 chars. When fitnesse-maven-plugin calls the page, the classpath that refers to the maven repository may easilly contains more than 8192 chars. see article Activating this property ask the plugin to copy all the dependency in the target folder. This may create an overhead but decrease the classpath size. For exemple the string [E:/Maven/repository/org/springframework/spring-beans/1.2.8/spring-beans-1.2.8.jar] (81 chars) became [lib/spring-beans-1.2.8.jar] (26 chars). That doesn't solve the problems but allows to use bigger classpath. Default value is false.
dateFormat String Date format for FitNesse page timestamp. Default value is dd/MM/yyyy HH:mm.
debug boolean Run FitnesseRunner with debug option. Default value is false.
displayOutput boolean Redirect FitNesse output into Maven2 log. Default value is false.
failOnError boolean Fail the build if fitnesse pages have error. Default value is false.
fitnesseRunnerClass String Fitnesse runner class. Default value is fitnesse.runner.TestRunner.
jdk String Java executable. Default value is java.
jdkOpts String Jvm arguments.
metadataSource ArtifactMetadataSource No description.

Parameter Details

artifactResolver Artifact resolver used to find clovered artifacts (artifacts with a clover classifier).
  • Type: org.apache.maven.artifact.resolver.ArtifactResolver
  • Required: No

classPathProvider This property defines how the plugin will create the classpath for running fixtures. It accepts a couple of value: "fitnesse" (default) or "maven".

With "fitnesse" mode, the classpath is downloaded from the FitNesse server page. Then classpath of the plugin is appended (for providing the good FitNesse implementation).

With "maven" mode the classpath is only defined with the one of the project (POM).
  • Type: java.lang.String
  • Required: No
  • Default: fitnesse

classPathSubstitutions List of Classpath substitution. Substitutions allow to change the FitNesse class path.

It should be usefull when the server classpath is in a Unix syntaxe, or when libs are not located in the same folder on the server and on the developer desktop.

The order of substitutions is guaranteed to be the same than the definition.

The substitutions use String replacements (not patterns). <classPathSubstitutions>

  <classPathSubstitution>

    <search>The key that will be replace</search>

    <replaceWith>The value that should use to replace the key</replaceWith>

  </classPathSubstitution>

  ...

</classPathSubstitutions>:

This parameter can only be use if param classPathProvider has fitnesse value.
  • Type: java.util.List
  • Required: No

cmdFitnesseHostName No Description.
  • Type: java.lang.String
  • Required: No
  • Expression: ${fitnesse.hostName}

cmdFitnessePage No Description.
  • Type: java.lang.String
  • Required: No
  • Expression: ${fitnesse.page}

cmdFitnessePort No Description.
  • Type: int
  • Required: No
  • Expression: ${fitnesse.port}

copyDependencies Use shorter classpath. On Windows, the Win32 api doesn't allow to create a process via CMD.EXE that contains more than 8192 chars. When fitnesse-maven-plugin calls the page, the classpath that refers to the maven repository may easilly contains more than 8192 chars. see article Activating this property ask the plugin to copy all the dependency in the target folder. This may create an overhead but decrease the classpath size. For exemple the string [E:/Maven/repository/org/springframework/spring-beans/1.2.8/spring-beans-1.2.8.jar] (81 chars) became [lib/spring-beans-1.2.8.jar] (26 chars). That doesn't solve the problems but allows to use bigger classpath.
  • Type: boolean
  • Required: No
  • Default: false

dateFormat Date format for FitNesse page timestamp.
  • Type: java.lang.String
  • Required: No
  • Default: dd/MM/yyyy HH:mm

debug Run FitnesseRunner with debug option.
  • Type: boolean
  • Required: No
  • Default: false

displayOutput Redirect FitNesse output into Maven2 log.
  • Type: boolean
  • Required: No
  • Default: false

failOnError Fail the build if fitnesse pages have error.
  • Type: boolean
  • Required: No
  • Default: false

fitnesseRunnerClass Fitnesse runner class.
  • Type: java.lang.String
  • Required: No
  • Default: fitnesse.runner.TestRunner

fitnesses This is the list of FitNesse server pages.

A FitNesse tag is compose of the nested tags:

<fitnesses>

<fitnesse>

<pageName>This is the only required parameter, the name of the FitNesse page</pageName>

<hostName>default is locahost</hostName>

<port>: default is 80;</port>

<serverId>ServerId defined in your settings.xml, this allows to use credentials (basic athentification) for calling your FitNesse pages</serverId>

<type>Override the default type of the page (Suite or Test).;</type>

</fitnesse>

...

</fitnesses>:

  • Type: java.util.List
  • Required: Yes

jdk Java executable.
  • Type: java.lang.String
  • Required: No
  • Default: java

jdkOpts Jvm arguments.
  • Type: java.lang.String
  • Required: No

metadataSource No Description.
  • Type: org.apache.maven.artifact.metadata.ArtifactMetadataSource
  • Required: No