Skip to content

Instantly share code, notes, and snippets.

@sourcerebels
Created March 2, 2012 19:17
Show Gist options
  • Save sourcerebels/1960549 to your computer and use it in GitHub Desktop.
Save sourcerebels/1960549 to your computer and use it in GitHub Desktop.
BDD > Python > Lettuce Specification Sample

Description

A specification sample for Lettuce (BDD-style for python language).

Output

$ lettuce

Feature: some feature               # features/some.feature:1
  Some crazy feature                # features/some.feature:2

  Scenario: looking for the truth   # features/some.feature:4
    Given user named "sourcerebels" # features/steps.py:4
    When his name is reversed       # features/steps.py:8
    Then his name is "sleberecruos" # features/steps.py:12

1 feature (1 passed)
1 scenario (1 passed)
3 steps (3 passed)
Feature: some feature
Some crazy feature
Scenario: looking for the truth
Given user named "sourcerebels"
When his name is reversed
Then his name is "sleberecruos"
from lettuce import *
@step('user named "(.*)"')
def user_named(step, name):
world.user = name
@step('his name is reversed')
def his_name_is_reversed(step):
world.user = world.user[::-1]
@step('his name is "(.*)"')
def his_name_is(step, name):
assert world.user == name, \
"Name must be %s" % (name)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment