Skip to main content

behave is behaviour-driven development, Python style

Project description

Latest Version License CI Build Status Documentation Status Discussions at https://github.com/behave/behave/discussions Chat at https://gitter.im/behave/behave Ask behave Guru at https://gurubase.io/g/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.3.1.tar.gz (887.3 kB view details)

Uploaded Source

Built Distribution

behave-1.3.1-py2.py3-none-any.whl (222.1 kB view details)

Uploaded Python 2Python 3

File details

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

File metadata

  • Download URL: behave-1.3.1.tar.gz
  • Upload date:
  • Size: 887.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for behave-1.3.1.tar.gz
Algorithm Hash digest
SHA256 2a1f3a2490242132c4daf0732d9b65c99be6fef1f787f97fd028ea5a402025ff
MD5 7f09057a25ccb412f7ea3dcd8aaee458
BLAKE2b-256 746f7d7c3bacf3d2e3209a5db760f3625cb943c5f044d1d21d8dd33e54e69cdc

See more details on using hashes here.

Provenance

The following attestation bundles were made for behave-1.3.1.tar.gz:

Publisher: release-to-pypi.yml on behave/behave

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

  • Download URL: behave-1.3.1-py2.py3-none-any.whl
  • Upload date:
  • Size: 222.1 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for behave-1.3.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 71b2dc00664de83c3aad61c91e5b3051b7b860aa2053e24db4742edecb800d21
MD5 260dc42ec388539b9e976545e01e9f46
BLAKE2b-256 535225901596ed8d22eb235a5634ca70280c6b66c4477daa8aef914deb582183

See more details on using hashes here.

Provenance

The following attestation bundles were made for behave-1.3.1-py2.py3-none-any.whl:

Publisher: release-to-pypi.yml on behave/behave

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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