Lettuce is a Behavior-Driven Development tool written by Gabriel Falcão G. de Moura

nutshell

install it

user@machine:~$ [sudo] pip install lettuce

describe your first feature

Feature: Manipulate strings
  In order to have some fun
  As a programming beginner
  I want to manipulate strings

  Scenario: Uppercased strings
    Given I have the string "lettuce leaves"
    When I put it in upper case
    Then I see the string is "LETTUCE LEAVES"

define its steps

>>> from lettuce import *
>>> @step('I have the string "(.*)"')
... def have_the_string(step, string):
...     world.string = string
...
>>> @step
... def i_put_it_in_upper_case(step):
...     world.string = world.string.upper()
...
>>> @step
... def see_the_string_is(step, expected):
...     '''I see the string is "(.*)"'''
...     assert world.string == expected, \
...         "Got %s" % world.string

watch it pass

user@machine:~/Projects/my-project$ lettuce features/

getting involved !

github project page

Fork it, propose features, explore the code

github.com/gabrielfalcao/lettuce.

feedback

issue tracker.

discuss

hack

Development guidelines

donate

support lettuce development

hands on!

Is this your first experience with Lettuce ?!?

So, why don’t you go straight to the quick start tutorial ?!

introduction

what is Lettuce, and what it does

integrate!

furthermore

reference and concepts

recipes

make your own salad

Warning

Disclaimer on unstable features you should NOT rely on.

For instance use the features step.behave_as and the xunit XML output are unstable and untested.

Lettuce is a software for testing other software, but I’ve been receiving some contributions of new features that are coming without proper tests.

These contributions have to be rewritten with proper tests, so that they won’t break so often, but they are a current source of issues in the bug tracker.

So until someone contributes with unit and functional tests for those features, or I find some time to do it myself, you should avoid relying on them.

Sincerely, Gabriel Falcão