px
pypx

behave

v1.3.3

behave is behaviour-driven development, Python style

218 KB Python 2.7+ py2.py3-none-anyBSD-2-Clause15 deps
Diff
$ uv add behave

======

behave

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.

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

  • behave documentation_: latest edition_, stable edition_, PDF_
  • behave.example_: Behave Examples and Tutorials (docs, executable examples).
  • changelog_ (latest changes)

Details

Version
1.3.3
License
BSD-2-Clause
Python
!=3.0.*,!=3.1.*,!=3.2.*,>=2.7
Maintainer
Benno Rice, Richard Jones

Maintainers