semvec/pypi-packages huggingface dataset:
pytest-bdd-html 0.1.14a0
pytest plugin to display BDD info in HTML test report
License: MIT
Requires Python: >=3.7
Keywords: pytest,html,bdd,report

pytest-bdd-html
===============

.. image:: https://img.shields.io/badge/dynamic/xml?url=https://pypi.org/rss/project/pytest-bdd-html/releases.xml&label=pypi&query=//item[1]/title&color=blue
    :target: https://pypi.org/project/pytest-bdd-html/#history
    :alt: PyPI release
.. image:: https://img.shields.io/github/issues/slavos1/pytest-bdd-html
   :target: https://github.com/slavos1/pytest-bdd-html/issues
   :alt: Issues
.. image:: https://img.shields.io/badge/license-MIT-blue
   :target: https://github.com/slavos1/pytest-bdd-html/blob/main/LICENSE
   :alt: License

A ``pytest`` plugin to display `BDD <https://en.wikipedia.org/wiki/Behavior-driven_development>`_ info in the `pytest-html <https://pypi.org/project/pytest-html/>`_-generated HTML test report.

Apart from ``pytest-html``, it plugs into `pytest-bdd <https://pypi.org/project/pytest-bdd/>`_ plugin's hooks.

Usage
----------
To use the plugin, just install it:

.. code:: shell

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

If you use `tox <https://pypi.org/project/tox/>`_, list the plugin as a dependency:

.. code:: ini

    ; 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