• Stars
    star
    2,031
  • Rank 22,790 (Top 0.5 %)
  • Language
    Java
  • License
    Other
  • Created almost 16 years ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

FitNesse -- The Acceptance Test Wiki

FitNesse maven central SonarQube Tech Debt

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

To get started, check out the FitNesse website!

Quick start

Bug tracker

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

Edge builds

The latest stable build of FitNesse can be downloaded here by clicking the latest workflow and clicking the libs artifact.

Note: the libs artifact contains 2 jars. fitnesse.jar is for use in Maven or Ivy. Users who just want to run FitNesse by itself should use 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

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 8 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 8 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

FitNesse releases are deployed to Maven Central via OSS Sonatype.

Sufficient permissions are required to perform a release.

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

$ ./gradlew release

For this to work you'll need to add some properties to your ~/.gradle/gradle.properties

sonatypeUsername=...
sonatypePassword=...

signing.keyId=...
signing.password=...
signing.secretKeyRingFile=...

Details on what values to provide can be found on Deploy to Maven Central using API key and the documentation of the Signing Plugin.

More Repositories

1

spacewar

Space War starting in Episode 55 of cleancoders.com
Clojure
605
star
2

more-speech

A Nostr browser in Clojure.
Clojure
283
star
3

PPP

Excercises for Principles, Patterns, and Practices, iHop, Pood.
Java
158
star
4

CC_SMC

State Machine Compiler for Clean Code video series.
Java
119
star
5

PDP8EmulatorIpad

PDP8 Emulator for the iPad
Lua
112
star
6

videostore

The videostore example from Martin Fowler's Refactoring, and from Episode 3 of cleancoders.com
Java
84
star
7

MACS_GOMOKU

Mobile Application Case Study -- GOMOKU project
Swift
82
star
8

WTFisaMonad

Talk: WTF is a Monad
Clojure
79
star
9

clojureOrbit

Orbital simulator in Clojure
Clojure
77
star
10

AdventOfCode2022

Advent of Code 2022
Clojure
73
star
11

ubc-website

Website for Uncle Bob Consulting. Example for cleancoders.com functional programming series.
Clojure
70
star
12

rubyslim

Slim port for Ruby
Ruby
61
star
13

Episode-10-ExpenseReport

The Expense Report example from cleancoders.com episode 10
Java
58
star
14

javaargs

The Java version of the Args Program.
Java
53
star
15

FunctionalDesign

The source code for the examples in Functional Design
Clojure
53
star
16

unclebob.github.io

Uncle Bob's blog
HTML
47
star
17

AdventOfCode2021

Clojure
47
star
18

Clean-Code-Performance

C++
44
star
19

HTWCleanCoders

Hunt the Wumpus for Clean Coders Acceptance Testing Episodes.
Java
33
star
20

Euler

Clojure
33
star
21

sudoku

Sudoku solver for E61 of Clean Code (cleancoders.com)
Clojure
27
star
22

BinarySearch

Binary Search using TDD
Java
24
star
23

AdventOfCode2020

Clojure
20
star
24

mastermindclj

Master Mind in Clojure for Clean Code Functional series.
Clojure
20
star
25

functor

experimental macro for allowing Algol-like block structure scoping in clojure
Clojure
19
star
26

HTW

Hunt The Wumpus
JavaScript
19
star
27

springslim

A Java Slim Service that manages Spring Transactions.
Java
18
star
28

rubyargs

The ruby version of the Args program that I initially wrote in Java.
Ruby
17
star
29

smcjava

State Machine Compiler
16
star
30

wator

Clojure
16
star
31

nslim

.NET port of SLIM.
C#
14
star
32

environmentcontroller

TDD Exercise
Java
14
star
33

AOC23

Clojure
13
star
34

Empire

Based on old VMS empire game
Java
13
star
35

BIP340-elliptic-curve-signatures

Explore signing documents using BIP340 Schnorr Signatures. A la https://bips.xyz/340
Clojure
13
star
36

MazeSolver

Solve a maze from an image file.
Clojure
11
star
37

RndSelect

The project in response to @ploeh's blog about types and tests.
11
star
38

tddrefcpp

Exercises and Examples for TDD/REF in C++
C++
10
star
39

fSharpCaseStudy

F#
10
star
40

bugs

A simple game of chasing bugs
Clojure
9
star
41

gravity

A simple gravity simulator
Clojure
9
star
42

covid_analysis

Clojure
9
star
43

empty

OM Empty Repository
9
star
44

fitnesseextras

Some utilities for FitNesse.
Java
9
star
45

javasquint

A simple iterator based lazy evaluation program.
Java
8
star
46

fitnessedotorg

FitNesse website fitnesse.org
JavaScript
8
star
47

perforcecmsystem

Plugin for marrying FitNesse and PerForce by Markus Gartner
Java
8
star
48

CleanIOT

Python
7
star
49

turtle-graphics

A simple graphics tool based loosely on Logo turtle graphics.
Clojure
7
star
50

Welc

The code for the WELC course
Java
7
star
51

ScriptSchedule

Converts FinalDraft script to a shooting schedule suitable for Numbers or Excel.
Clojure
6
star
52

Mage-of-Lief

Partially completed scupture.
Ruby
6
star
53

GoVideoStore

Martin Fowler's lovely Video Store problem, in GoLang. For Clean Code 2d. ed.
Go
5
star
54

RubyLibraryIHop

project for IHOP course in Ruby
Ruby
4
star
55

BoboliaTaxes

A simple tax calculator for the mythical land of Bobolia. Example from Clean Code 2d. ed.
Python
3
star
56

clojars-unclebobmartin

clojars group verification
2
star