FitNesse Cheat Sheet


Sections



Glossary

PagePath PageName.[PageName]
AnyPagePath [< |. |>]PagePath
Symbolic Link A locally-defined alias to any accessible page.
Symbolic links are created by clicking Properties
and entering information in the bottom section
titled "Symbolic Links".





FitNesse Command Line and Options (to top)

[path/to/java/]java [-Dfile.encoding=UTF-8] -cp fitnesse.jar[;other.jar.or.path]... fitnesse.FitNesse [-o] [-p port#] [-d /path/to/fitnesse/root] [-r NameOfRootPage] [-e days] [-l /log/file/path/and/name] [-a {username:password | /auth/file/path/and/name}] [other arguments]
option default description
-a username:password no auth Enforces access for one user
-a /auth/file/path/and/name no auth Enforces access for a file of users with encrypted passwords
-d /path/to/fitnesse/root . Path to the fitnesse wiki home where FitNesseRoot or -r name resides
-e days 14 Number of days to retain older versions (.zip files)
-l /log/file/path/and/name off Where to put and what to call the run log
-o update Prevents (omits) updating FitNesseRoot content
-p port# 80 Port for FitNesse to listen on
-r NameOfRootPage FitNesseRoot Name of root folder in the fitnesse wiki home or -d path
[-Dfile.encoding=UTF-8] off Unicode characters support in Test History Page




FitNesse Actions (to top)

Edit this page url?edit
Create a new page directly current-url.NewPageName
or
current-url.NewPageName?edit
Test this page url?test
Suite test this page url?suite
Set properties of this page url?properties
See versions of this page url?versions
Refactor this page url?refactor
Search pages from here url?searchForm
Where is this page referenced? url?whereUsed
Debug this test page url?debug
Suite test this page with a suite filter "passing" url?responder=suite&suiteFilter=passing



Character Formatting (to top)

Comment #text Can also be used to comment-out markup
Italics ''text''
Bold '''text'''
Style !style_(text) The style of text will be the CSS class <someStyle>
Strike-through --text--
"As-is"/escaping !-text-! Can also be used to insert HTML tags directly
"As-is" !<text>! Will escape HTML tags so they display in plain text.
Alias Link text



Line & Block Formatting (to top)

workflow break ---- ...separates each "phase"
Horizontal Line
over-text----under-text thinnest
over-text-----under-text safest - no conflict with workflow phase separators
over-text---------under-text thicker
Note !note text
Headings !1 largest heading text
!2 middle heading text
!3 smaller heading text
and so on up to !6
Centered !c text
Formatted "as is" {{{text}}} note: causes extra line afterward
Collapsible
!* [title]
multi-line wiki text
N.B.: Multiple asterisks are allowed, e.g., !**** text
*!
expanded
!*> [title]
multi-line wiki text
N.B.: Multiple asterisks are allowed, e.g., !****> text
*!
collapsed
!*< [title]
multi-line wiki text
N.B.: Multiple asterisks are allowed, e.g., !****< text
*!
invisible useful for hidding define's, etc.



Links & References (to top)

Page links
.RootPage[.ChildPage] from root
SameLevelPage[.ChildPage] sibling
>ChildPage[.ChildPage] child or symbolic
[[text][AnyPagePath]] in an alias
Cross-reference &
Suite Include
!see AnyPagePath
Define "in-page" label !anchor label-name a.k.a. anchor
Jump to "in-page" label
text #label-name text in-line
.#label-name left-justified
[[text][#label-name]] in an alias
External Links
http://url-path
Web
http://files/localPath Local
[[text][/files/localPath]] Alias
[[text][AnyPagePath#label-name]] Alias
text@text.text mailto

Link texts containing WikiText may be escaped. E.g. [[!-FitNesse-!][http://fitnesse.org]].




Includes & Informational (to top)

Timestamp !lastmodified
Timestamp !today
Help text !help
Table of Content
Contents List !contents
Contents Tree !contents -R
Contents Sub-tree !contents -R[nn]
Contents List - Graceful !contents -g
Contents List - Properties !contents -p
Contents List - Suite Filters !contents -f
Contents List - Help Text !contents -h
Include Page
!include AnyPagePath expanded border
!include -c AnyPagePath collapsed border
!include -seamless AnyPagePath no border
!include -setup AnyPagePath appears like SetUp
!include -teardown AnyPagePath appears like TearDown
| !include AnyPagePath | in a table cell

Picture Insert
!img url-to-image-file in-line
!img-l url-to-image-file image left-justified, text wraps on right
!img-r url-to-image-file image right-justified, text wraps on the left
!img[-l |-r] url-to-image-file as a clickable link




Variables (to top)

Variable Definition !define name {value}
!define name (value)
!define name [value]

Variable Usage ${name}
Expression Evaluation ${=expression=} expression may contain variables



Global Variables (to top)

NAME Java Default FitLibrary (Unix) Default .NET Default
COMMAND_PATTERN java -cp %p %m java -cp %p %m %m %p
REMOTE_DEBUG_COMMAND REMOTE DEBUG COMMAND, or java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 -cp %p %m java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 -cp %p %m java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 -cp %p %m
PATH_SEPARATOR : (system-dependent) : (system-dependent) ;
TEST_RUNNER fit.FitServer fitlibrary.suite.FitLibraryServer dotnet\FitServer.exe
REMOTE_DEBUG_RUNNER TEST_RUNNER same as for java dotnet\FitServer.exe

NAME Default Values Notes
TEST_SYSTEM
fit
fit|slim
Selects the test system to use for this, and descendant pages.
SLIM_PORT (deprecated)
8085
integer
Selects the starting port number in a range of 10 for slim.
SLIM_HOST (deprecated)
localhost
string
The name of the host on which SlimServer is running.
SLIM_VERSION
nil
string
The minimum Slim Protocol Version required for this page. Used to turn off slim protocol error messages.
MANUALLY_START_TEST_RUNNER_ON_DEBUG
false
true | false
When set to true, and a page is run in debug mode then fitnesse will not create it's own slim runner, and will instead connect to an existing runner on port SLIM_PORT .
CLASSPATH_PROPERTY
nil
an environment variable
If not nil, loads classpath (as gathered from !path) into the named environment variable. See Customizing Test Execution.
COLLAPSE_SETUP
false
true | false
Collapses all SetUps
COLLAPSE_TEARDOWN
false
true | false
Collapses all TearDowns
FILTER_TOC
false
true | false
Append suite fiters to TOC
HELP_PREFIX_TOC
:<space>
any string
Define prefix for help text suffix
HELP_TOC
false
true | false
Append help text to TOC
MORE_SUFFIX_TOC
<space>...
any string
Define sequence to show more TOC levels
PROPERTY_CHARACTERS
*+@>-
any characters
Define property icons for TOC
PROPERTY_TOC
false
true | false
Append property icons to TOC
REGRACE_LINK
false
true | false
Makes links graceful
REGRACE_TOC
false
true | false
Makes !contents list graceful
RSS_PREFIX
Link prefix for RSS Feeds
INCLUDE_SCENARIO_LIBRARIES
false*
true | false
Test pages should include ScenarioLibrary pages * defaults to true if the SLiM test system is defined.
PAGE_NAME
Read Only
Name of current page
PAGE_PATH
Read Only
Fully qualified name of parent.
RUNNING_PAGE_NAME
Read Only
Name of current top level running page
RUNNING_PAGE_PATH
Read Only
Fully qualified name of the current tope level running page's parent.
FITNESSE_PORT
Read Only
Port number that fitnesse is using.

(See the root page for overrides)



Global Properties (to top)

path.separator (system-dependent)

(See the root page for overrides)



Testable Tables (to top)

Classpath include !path java.path.spec
"Insert Fixture Table"
Edit List Include
!fixture path.fixture
Prevent Wikification ! | "as is" or escaped content |
Smallest Table | text |
Fixture Table ! | fixture specification |
[ | optional table row | [ optional 2nd column | ]...] [ | optional table row | [ optional 2nd column | ]...] :
Graceful Naming

The cells below are on one line regardless of word-wrapping

table spec Searches for:
! | Grace Full Name | GraceFullName
fit.GraceFullName
GraceFullNameFixture
fit.GraceFullNameFixture
! | grace full method | graceFullMethod()
getGraceFullMethod()
setGraceFullMethod() (if setter context)
! | method name | p1 | methodName(p1)
getMethodName(p1)
setMethodName(p1)
! | method name | p1 | too | methodNameToo(p1)
getMethodNameToo(p1)
setMethodNameToo(p1)
! | method name | p1 | also | p2 | methodName(p1,p2)
getMethodName(p1,p2)
setMethodName(p1,p2)
! | method name | p1 | also | p2 | too | methodNameToo(p1,p2)
getMethodNameToo(p1,p2)
setMethodNameToo(p1,p2)