• Stars
    star
    151
  • Rank 244,581 (Top 5 %)
  • Language
    HTML
  • Created over 12 years ago
  • Updated 11 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Examples and Tutorials for "behave" to simplify use for new developers.

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.