Skip to content

pytest plugin to display BDD info in HTML test report

License

Notifications You must be signed in to change notification settings

slavos1/pytest-bdd-html

Repository files navigation

pytest-bdd-html

PyPI release Issues License

A pytest plugin to display BDD info in the pytest-html-generated HTML test report.

Apart from pytest-html, it plugs into pytest-bdd plugin's hooks.

Usage

To use the plugin, just install it:

# source .venv/bin/activate
pip install pytest-bdd-html
pytest -vv ...

If you use tox, list the plugin as a dependency:

; tox.ini
[testenv]
deps = ...
    pytest-bdd-html

commands = pytest -vv ...

There will be a new 3rd column with label "Description" in the test report specified by --html=... command line option of pytest-html.

Command line options

Available command line options are as follows.

--bdd-html-css=PATH
Specifies a path to a custom CSS file for styling of the Description column. pytest_bdd_html/resources/style.css is used by default if PATH does not exist or is not specified. See CSS classes for how the column cells are structured.

CSS classes

For each test case (one row in the pytest-html-generated HTML report), the Description column's cell has one of the following structures, differing for BDD and non-BDD tests (.XXX denotes a HTML element with CSS class="XXX").

Structure of cell for BDD test

.col-description
  .col-description-bdd-doc
    /* Feature */
    div
      h3
      .text
         div /* feature name */
         div /* feature description; optional */

    /* Scenario */
    div
      h3
      .text

    /* Steps */
    div
      h3
      .steps
        .step /* one or more steps */
          .step-name
          .step-message

Structure of cell for non-BDD test with functional comment

.col-description
  .col-description-func-doc

Structure of cell for non-BDD test without functional comment

.col-description
  .col-description-no-doc /* an empty div */

Version update

bumpver test -p 0.1.13a0 "MAJOR.MINOR.PATCH[PYTAGNUM]"
bumpver update -n -d -p
bumpver update -n -p