Skip to content

behave/behave.example

main
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
November 4, 2020 10:43
bin
November 4, 2020 20:22
November 4, 2020 20:32
November 4, 2020 20:22
November 4, 2020 20:22
February 26, 2012 21:40
February 26, 2012 21:40
February 26, 2012 21:40
November 4, 2020 20:22
April 28, 2021 16:09
November 4, 2020 20:22
November 4, 2020 20:22

behave.example: Examples and Tutorials

Date: 2020-11-04
Category:BDD, testing
License:BSD

behave is a BDD test framework and cucumber-clone for Python. This project provides tutorials and examples how to use behave. It should extends the excellent documentation of behave.

SEE ALSO:

DOCUMENTATION:

REPOSITORIES:

INSTALL and BOOTSTRAP

The project provides tutorials and examples. Therefore, it should not be installed. To prepare the local installation, use the following command to install all prerequisites:

# -- STEP 1: Setup and activate a virtual python environment.
$ virtualenv --python python3 .venv
$ source .venv/bin/activate

# -- HINT ON WINDOWS:
# call .venv/Scripts/activate

# -- STEP 2: Install all required python packages with "pip".
$ pip install -r py.requirements/all.txt

Some extension to behave are provided in the lib/python/ subdirectory. They are used when you use bin/behave to run behave.

HOWTO

Cleanup local workspace:

invoke cleanup
invoke cleanup.all

Run behave tests:

invoke test

or:

bin/behave features/
bin/behave datatype.features/
bin/behave step_matcher.features/

Build Sphinx-based documentation with tutorials:

invoke docs

If invoke is not installed, use the following canned script instead:

bin/invoke command ...

SPECIAL CONFIGURATION

  • The behave PrettyFormatter is replaced with pretty2.SimplePrettyFormatter.

    This formatter implementation avoids cursor-ups while processing steps. ANSI escape cursor-up sequences do not work with sphinxcontrib-ansi when the sphinx-based documentation is generated (experimental feature for colorized behave output support).

  • sphinxcontrib-ansi does not process the following ANSI escape sequences correctly (set-color, set-bold):

    CSI{color_code}mCSI1m
    

    The color is reset in HTML output when set-bold is detected. The following ANSI escape sequence should be used instead:

    CSI{color_code};1m
    

    The behave runner, that is used here, patches the original functionality to use the second solution ("use_ansi_escape_colorbold_composites()").

  • The coloring schema in behave is adapted by setting the environment variable ("grey" is replaced with "white"):

    GHERKIN_COLORS="executing=white:comments=white"
    
  • To disable "ANSI coloring" support for Sphinx, set "ansiterm_supported = False" in "docs/conf.py". Note that this is not necessary on Windows.