Skip to main content

behave is behaviour-driven development, Python style

Project description

Travis CI Build Status Documentation Status Latest Version Downloads License Join the chat at https://gitter.im/behave/behave

behave is behavior-driven development, Python style.

logo

Behavior-driven development (or BDD) is an agile software development technique that encourages collaboration between developers, QA and non-technical or business participants in a software project.

behave uses tests written in a natural language style, backed up by Python code.

First, install *behave*.

Now make a directory called “features/”. In that directory create a file called “example.feature” containing:

# -- FILE: features/example.feature
Feature: Showing off behave

  Scenario: Run a simple test
    Given we have behave installed
     When we implement 5 tests
     Then behave will test them for us!

Make a new directory called “features/steps/”. In that directory create a file called “example_steps.py” containing:

# -- FILE: features/steps/example_steps.py
from behave import given, when, then, step

@given('we have behave installed')
def step_impl(context):
    pass

@when('we implement {number:d} tests')
def step_impl(context, number):  # -- NOTE: number is converted into integer
    assert number > 1 or number == 0
    context.tests_count = number

@then('behave will test them for us!')
def step_impl(context):
    assert context.failed is False
    assert context.tests_count >= 0

Run behave:

$ behave
Feature: Showing off behave # features/example.feature:2

  Scenario: Run a simple test          # features/example.feature:4
    Given we have behave installed     # features/steps/example_steps.py:4
    When we implement 5 tests          # features/steps/example_steps.py:8
    Then behave will test them for us! # features/steps/example_steps.py:13

1 feature passed, 0 failed, 0 skipped
1 scenario passed, 0 failed, 0 skipped
3 steps passed, 0 failed, 0 skipped, 0 undefined

Now, continue reading to learn how to get the most out of behave. To get started, we recommend the tutorial and then the feature testing language and api references.

More Information

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

behave-1.2.6.tar.gz (701.7 kB view details)

Uploaded Source

Built Distribution

behave-1.2.6-py2.py3-none-any.whl (136.8 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file behave-1.2.6.tar.gz.

File metadata

  • Download URL: behave-1.2.6.tar.gz
  • Upload date:
  • Size: 701.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for behave-1.2.6.tar.gz
Algorithm Hash digest
SHA256 b9662327aa53294c1351b0a9c369093ccec1d21026f050c3bd9b3e5cccf81a86
MD5 3f05c859a1c45f5ed33e925817ad887d
BLAKE2b-256 c84bd0a8c23b6c8985e5544ea96d27105a273ea22051317f850c2cdbf2029fe4

See more details on using hashes here.

File details

Details for the file behave-1.2.6-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for behave-1.2.6-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 ebda1a6c9e5bfe95c5f9f0a2794e01c7098b3dde86c10a95d8621c5907ff6f1c
MD5 5ff5b8fae7c5a1a2c8963cfa6186eb42
BLAKE2b-256 a86cec9169548b6c4cb877aaa6773408ca08ae2a282805b958dbc163cb19822d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page