FitNesse -- The Acceptance Test Wiki
amolenaar Include all wiki files under version control
FitNesseRoot is used for tests on the code base. Therefore there is a chance files are added to a distribution that are not under version control. This change ensures wiki files are only added if under version control.

This fixes #1112 in a different way.
Latest commit 30b496e Jan 13, 2018
Failed to load latest commit information.
FitNesseRoot Merge pull request #1117 from amolenaar/java-9-classloader-take-2 Jan 3, 2018
buildSrc Include all wiki files under version control Jan 13, 2018
extra Cleanup .gitignore. Remove unused files. May 4, 2016
gradle/wrapper Upgrade Gradle to 4.3 Dec 27, 2017
plugin-loader-test/META-INF/services Use a dedicated classLoader for plugins, instead of (ab)using the sys… Dec 27, 2017
plugins used URLClassLoader instead of changing java.class.path to dynamicall… Oct 9, 2009
src Merge pull request #1117 from amolenaar/java-9-classloader-take-2 Jan 3, 2018
test Merge pull request #1117 from amolenaar/java-9-classloader-take-2 Jan 3, 2018
.bettercodehub.yml Add config for Jan 24, 2017
.editorconfig Include all wiki files under version control Jan 13, 2018
.gitignore Ignore testHistoryDirectory folder Nov 17, 2017
.travis.yml Build Java 9 on Travis Dec 29, 2017 Fixed one typo in each of and Aug 15, 2016
LICENSE.txt Add license text to project. Nov 20, 2015 Fix release process Nov 5, 2016
build.gradle Include all wiki files under version control Jan 13, 2018 Move property file loading to ConfigurationParameter class. Jan 12, 2014
gradlew Upgrade Gradle to 4.3 Dec 27, 2017
gradlew.bat Upgrade Gradle to 4.3 Dec 27, 2017
licenseHeader.txt relicensed to CPL 1.0 Jan 22, 2009
parserTokens.txt Sync again with unclebob/master Nov 4, 2014 Extend acceptance tests Nov 15, 2015
settings.gradle Fix project name. Apr 27, 2016 Tells SonarQube the project uses Java7 Apr 3, 2016

FitNesse maven central SonarQube Tech Debt

Welcome to FitNesse, the fully integrated stand-alone acceptance testing framework and wiki.

To get started, check out!

Quick start

Bug tracker

Have a bug or a feature request? Please open a new issue.


Have a question that's not a feature request or bug report? Ask on the mailing list.

Edge builds

The latest stable build of FitNesse can be downloaded here.

Note: the edge Jenkins build produces 2 jars. fitnesse.jar is for use in Maven or Ivy. Users who just want to run FitNesse by itself should download fitnesse-standalone.jar instead of fitnesse.jar.


Issues and pull requests are administered at GitHub.


A proper internet connection is sufficient to build FitNesse. The build process will bootstrap itself by downloading Gradle and from there will download the dependencies required to build and test FitNesse.

To build and run all tests, run the command

$ ./gradlew

which builds the all target.

NB. On windows call gradlew.bat instead of ./gradlew.


To start the FitNesse wiki locally, for example to browse the local version of the User Guide

$ ./gradlew run


To run the unit tests:

$ ./gradlew test

To run the acceptance tests:

$ ./gradlew acceptanceTest

Direct any questions to the FitNesse Yahoo group.

Working with Eclipse and IntelliJ

There are a few things to keep in mind when working from an IDE:

  1. The Gradle build does some extra things apart from compiling the code.

    • It sets the FitNesse version in a META-INF/FitNesseVersion.txt
    • It copies the dependencies to the lib folder so they can be used by the acceptance tests.

    Perform a

    $ ./gradlew copyRuntimeLibs

    to execute the copy action. In your IDE it is possible to define "post-compilation" steps. If you set the "post-compile" target from the build file, you won't have any trouble with cleaning, building and executing tests from your IDE.

Import FitNesse in Eclipse

  1. Clone the FitNesse Git repository from
  2. Import FitNesse via File -> Import... -> Gradle Project.
  3. Select the just cloned project folder. Follow the wizard.
  4. Ensure the project properties have a Java 7 compiler or newer set.

Import FitNesse in IntelliJ IDEA (16)

  1. Clone the FitNesse Git repository from
  2. From the welcome screen (the one you get when all projects are closed), click Import Project.
  3. Select the file build.gradle in the fitnesse folder.
  4. Follow the wizard. Deselect the option Create separate module per source set. You can use the Use gradle wrapper task configuration. Use Java 7 or newer. It should find source and test folders and show you two modules: fitnesse and :buildSrc; import both.
  5. Open the Gradle Build tool, select the task copyRuntimeLibs and (right-click) mark it as Execute After Make.

The release process

Software artifacts (the FitNesse jar, the standalone jar and POM files) are uploaded to Bintray. There are two repositories:

  • Edge contains snapshot builds
  • Release contains the official release builds.

In both cases you'll need sufficient permissions to perform a release.

Edge builds

Edge builds can be done at any time

$ ./gradlew snapshotRelease

Release builds

Release builds denote "blessed" releases. Those are tagged in Git along with being released. The releases will be available from both Maven Central and JCenter.

$ ./gradlew release