Logo: Relish

  1. Sign in

Project: Cukesalad 0.8.1

Cukesalad 0.8.1

RiverGlide logo

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.


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

Each of the above methods enter and 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.

More about why you would use cuke salad on the project wiki


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


  1. A simple tutorial
  2. Creating a New Project
  3. Defining roles
  4. Defining tasks
  5. Expectations

Last published over 7 years ago by RiverGlide.