FitLibraryUserGuide
The FitLibrary consists of several fixtures that work together. There are several interesting features of the FitLibrary fixtures:
- DoFixture tables are compact and flexible for writing workflow tests
- The fixtures can operate directly on application objects, in a Domain Driven Design way, without the need to write fixtures.
- The fixtures support various "graphical" values, including HTML lists and images. For example:
- The fixtures completely avoid magic values, such as "error"
For each of the FitLibrary fixtures, we show some example tables and the corresponding fixture code:
Fixtures for actions (workflow):
Fixtures for lists:
Fixture for calculations:
Fixture for set up:
Fixture for testing grids
Fixture for comparing files and directories
Support for Graphics
- Core Fit handles textual values in the cells of a table. These values are converted automatically into primitive values, such as 12, and into objects, such as a Date.
- The FitLibrary fixtures also support "graphical" values:
* TreeList uses HTML lists
* ImageNameGraphic uses HTML image names
* DotGraphics uses HTML images and associated Dot files
* I've just added support for embedded tables as values, which will be documented in the next release. That will be used to specify tests for fixtures more directly than FixtureFixture, for example.
- This general visual capability is described in Ubiquitous Visual Languages, a paper which is under construction.
FolderRunner (only in FitLibraryForFit)
- FolderRunner runs Fit tests. It handles test suites, organised in directories (folders). It can handle both HTML and XLS spreadsheet files.
- The FolderRunnerBrowser provides a GUI to run tests and to view the reports.
Support for FitJava and FitNesse (Java)
- The FitLibrary fixtures are supported in both FitJava and FitNesse in Java
- Versions in other languages are not yet available
Further Information
- Further information will be made available at http://www.cs.auckland.ac.nz/~rick/FitLibrary.
- Many examples of the development of Fit tables using the core and the FitLibrary fixtures, etc are covered in Fit for Developing Software, Rick Mugridge and Ward Cunningham, Prentice-Hall, 2005.
Planned Changes
- I am in the process of generalising the support for graphics (and other non-String values)
- I'm experimenting with some extensions to DoFixture.
- Copyright (c) 2004 Rick Mugridge, University of Auckland, New Zealand.
- Released under the terms of the GNU General Public License version 2 or later.