Code Monkey home page Code Monkey logo

givwenzen's Introduction

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.jar - Apache License 2.0.
guava-18.0.jar - Apache License 2.0.
javassist.jar - Mozilla Public License 1.1. 
log4j-1.2.9.jar - Apache License 2.0.

givwenzen's People

Contributors

weswilliams avatar blundell avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.