Welcome to FitNesse, the fully integrated stand-alone acceptance testing framework and wiki.
To get started, check out http://fitnesse.org!
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.
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.
Apache Ant and a proper internet connection is sufficient to build FitNesse. The build process will bootstrap itself by downloading Ivy (dependency management) and from there will download the modules required to build and test FitNesse.
To build and run all tests, run the command
$ ant
which builds the all
target.
To start the FitNesse wiki locally, for example to browse the local version of the User Guide
$ ant run
To run the unit tests:
$ ant unit_test
To run the acceptance tests:
$ ant acceptance_tests
There is a second source directory, srcFitServerTests
, which contains units
tests that test invocation of Fit servers written in Ruby, C++, and .NET. These
tests are not run as part of the normal ant test-related targets. When using an
IDE, make sure it does not invoke these tests when running the "normal" tests
under the src
directory.
Direct any questions to the FitNesse Yahoo group.
There are a few things to keep in mind when working from an IDE:
-
The Ant build file 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
$ ant post-compile
to execute those actions. 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.
-
Apache Ivy is used for dependency management. Your IDE can be set up to support Ivy. Alternatively,
$ ant retrieve
will download the dependencies and copy them to
lib/
, from where your IDE can pick them up.
- Clone the FitNesse Git repository from https://github.com/unclebob/fitnesse.
- Install the IvyDE plugin if you haven't already done so.
- Import FitNesse via Project... -> Java -> Java Project from existing Ant Buildfile. It asks from a javac target to use. Just pick any. Make sure both
src
andtest
directories are marked as source paths. - Open Properties (right-mouse click). In Java Build Path select Libraries and Add Library.... Select IvyDE. The Main settings are okay by default. On the Settings tab, select
ivysettings.xml
from the project folder. - While still in the Properties dialog, change the output folders in the Source tab: for the
src
directory, change it toclasses
, for thetest
directory, change it totest-classes
. Apply the changes are you're good to go.
- Clone the FitNesse Git repository from https://github.com/unclebob/fitnesse.
- Install the IvyIDEA plugin if you haven't already done so.
- From the welcome screen (the one you get when all projects are closed), click Import Project.
- Select the folder containing the fitnesse project.
- Now the Import project wizard guides you through the import process:
- We're not importing from an existing model, so Create project from existing sources.
- Give it a name.
- IntelliJ finds the
src
andtest
folder. - There are no plugins defined, so deselect those. The
test-plugin-*.jar
files are used for some unit tests. - Everything should look fine in the review screen: one module named
fitnesse
with asrc
and atest
folder. - Select a JDK. At least Java 7 is required.
- Now IntelliJ starts looking for frameworks. It should come up with IvyIDEA.
- Finish the wizard. The project should be opened.
- We're almost there. The IvyIDEA plugin is not completely configured yet. To fix this open File -> Project Structure... go to Modules:
- Select the
fitnesse
module and set the output path to theclasses
folder and the test output path totest-classes
. This ensures IntelliJ works nicely with the Ant tasks we want to execute as part of the build process. - Select IvyIDEA. Tell it to use Module specific ivy settings and select
ivysettings.xml
from the project folder.
- Select the
- Open the Ant Build tool, add the projects
build.xml
file and right click on thepost-compile
task. Select Execute on -> Before Compilation. Apply the changes are you're good to go.