cukesalad - a cucumber extension
Cucumber, washed and ready to eat for friction-free ATDD/BDD
Cukesalad is an extension to cucumber that allows you to write scenarios without regular expression. It encourages you to separte your code in neat, organised and focused parts. With cukesalad you focus on expressing your intent not on regular expressions.
You can combine cukesalad with your regular step definitions.
<iframe width="560" height="349" src=" Synopsishttp://www.youtube.com/embed/UYN7p_7IlZ8" frameborder="0" allowfullscreen></iframe>
There are no step-definitions required for this to work:
When I attempt to add, the number '1' to the number '2'
Instead, you write a Task:
in_order_to 'add', the_number: :first_number, and_the_number: :second_number do enter the :first_number press :plus enter the :second_number press :equals end
Each of the above methods
press must be implemented in a role.
Among these examples you will find a simple tutorial and a variety examples of using cukesalad.
Cukesalad uses cukesalad to express all of its own examples.
Why use cukesalad?
CukeSalad allows you to focus on the task at hand - expressing examples, the roles involved in those examples and what those roles can do with the product under development.
cukesalad encourages you to write only the code that expresses:
- the roles and the actions they can perform
- the tasks and the actions involved in completing that task
cukesalad helps you focus on expressions of intent rather than regular expressions.
The terms "actions" and "tasks" above come from Task Analysis, as used in User Centred Design (UCD) of Human Computer Interfaces (HCI) a.k.a. User Experience (UX):
- Goal: What we’re trying to achieve which has one or more…
- Tasks: The high-level work-item that we complete to fulfil the goal, each having one or more…
- Actions: The specific steps or interactions we execute to complete the task.
More information about Goals, Tasks and Actions can be found in this blog post
This project is 'always in beta' - feedback welcome