Skip to main content

behave is behaviour-driven development, Python style

Project description

CI Build Status Documentation Status Latest Version 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-no-capture-1.2.7.dev2.tar.gz (732.1 kB view details)

Uploaded Source

Built Distribution

behave_no_capture-1.2.7.dev2-py2.py3-none-any.whl (158.6 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file behave-no-capture-1.2.7.dev2.tar.gz.

File metadata

File hashes

Hashes for behave-no-capture-1.2.7.dev2.tar.gz
Algorithm Hash digest
SHA256 ee7798827239fe840bbf1b27a3376127058de1cc2c2b1d4df9f0d71d953fcc90
MD5 a6946cfc41ea14167e0d8426d10f504f
BLAKE2b-256 4408fc121380af4647fc5a1e55f8c0ff528efd383eb59f812d4c4394d8dfbdf0

See more details on using hashes here.

File details

Details for the file behave_no_capture-1.2.7.dev2-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for behave_no_capture-1.2.7.dev2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 9a76b3faf0f3204c0c0b87dd67d7e5d10dfecf33b710693bef617d09fa424a94
MD5 1d44a3a5141dd6c583c559a2313c33b8
BLAKE2b-256 16b8e9e0912e2461300cb559575845b46f60541141e651d751279ae1f8137749

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