Skip to content

weswilliams/GivWenZen

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Downloads

GivWenZen allows a user to use the BDD Given When Then vocabulary and plain text sentences to help a team get the words right and create a ubiquitous language to describe and test a business domain.

#The Idea

The idea was taken from Cucumber and my desire to create Cucumber like specifications and tests in FitNesse. Like Cucumber, GivWenZen does not distinguish between Given When Then or and but you should. Regular expression parsing is used to determine what step method should be executed for each given when then step in a test. Regular expression parsing is also used to find parameters to the step method. Also see how other ideas from Cucumber map to FitNesse.

#Example

1) Start with an example fixture actual class found in the givwenzen_test.jar.

2) In a FitNesse table it could look like this.

import and start should go in SetUp or SuiteSetUp
|import|
|org.givwenzen|

|script|
|start|giv wen zen for slim|
this is your test
|script|
| given| a ToDo item is due tomorrow |
| when | the date changes to tomorrow  |
| then | a notification exists indicating the ToDo is due |

3) The following is an example step class and test step method ===

package bdd.steps;

@DomainSteps
public class ExampleSteps {

  @DomainStep( “a ToDo item is due (.*)” )
  public void createToDoWithDueDateOf(CustomDate date) {
    // do something
  }

  @DomainStep( “the date changes to (.*)” )
  public void theDateIs(CustomDate date) {
    // do something
  }

  @DomainStep( “a notification exists indicating the ToDo is due” )
  public boolean verifyNotificationExistsForDueToDo() {
    // do something
    return false;
  }

}

#More Examples More example can be found in the FitNesseRoot in source. It is easy to get started.

Simple scenarios More complex scenarios

##Groups

http://groups.google.com/group/givwenzen_user

http://groups.google.com/group/givwenzen_developer

WesWilliams

Atlassian Clover

#Running

java -jar ./lib/fitnesse.jar -p 8080

Open http://localhost:8080/ in the browser of your choice.

Here you will find an example test and a user guide for GivWenZen.

##License

License: MIT.

Libraries required for main classes:

commons-logging-1.2.jar - Apache License 2.0.
guava-27.1-jre.jar - Apache License 2.0.
javassist.jar - Apache License 2.0., LGPL 2.1, Mozilla Public License 1.1. 
log4j-1.2.17.jar - Apache License 2.0.