FitNesse -- The Acceptance Test Wiki
Java JavaScript CSS Other
Permalink
Failed to load latest commit information.
FitNesseRoot Merge pull request #1088 from chy996633/master Oct 15, 2017
buildSrc Move task to separate class, so logic can still be tested. Apr 29, 2016
extra Cleanup .gitignore. Remove unused files. May 4, 2016
gradle/wrapper Upgrade to Gradle 3.1 Nov 5, 2016
plugins used URLClassLoader instead of changing java.class.path to dynamicall… Oct 9, 2009
src Move WikiSourcePage to fitnesse.wiki Oct 15, 2017
test Move WikiSourcePage to fitnesse.wiki Oct 15, 2017
.bettercodehub.yml Add config for bettercodehub.com Jan 24, 2017
.editorconfig Add editorconfig file. See http://editorconfig.org Mar 22, 2016
.gitignore misc: remove double-entry from .gitignore Jun 6, 2017
.travis.yml Replace Oracle JDK 7 build by OpenJDK 7 build Oct 15, 2017
CONTRIBUTING.md Fixed one typo in each of README.md and CONTRIBUTING.md Aug 15, 2016
LICENSE.txt Add license text to project. Nov 20, 2015
README.md Fix release process Nov 5, 2016
build.gradle Update pom file creation to match Maven Central rules Nov 6, 2016
configuration-parameter-test.properties Move property file loading to ConfigurationParameter class. Jan 12, 2014
gradlew Update build to make it easier to use in IDE's. Jul 18, 2016
gradlew.bat Update build to make it easier to use in IDE's. Jul 18, 2016
licenseHeader.txt relicensed to CPL 1.0 Jan 22, 2009
parserTokens.txt Sync again with unclebob/master Nov 4, 2014
plugins.properties Extend acceptance tests Nov 15, 2015
settings.gradle Fix project name. Apr 27, 2016
sonar-project.properties Tells SonarQube the project uses Java7 Apr 3, 2016

README.md

FitNesse maven central SonarQube Tech Debt

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

To get started, check out http://fitnesse.org!

Quick start

Bug tracker

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

Community

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.

Developers

Issues and pull requests are administered at GitHub.

Building

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.

Running

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

$ ./gradlew run

Testing

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 https://github.com/unclebob/fitnesse.
  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 https://github.com/unclebob/fitnesse.
  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