pytest-match-skip

Skip matching marks. Matches partial marks using wildcards.

MIT License

Downloads
1.6K
Stars
2
Committers
2

pytest-match-skip

.. image:: https://img.shields.io/pypi/v/pytest-match-skip.svg :target: https://pypi.org/project/pytest-match-skip :alt: PyPI

.. image:: https://img.shields.io/pypi/pyversions/pytest-match-skip.svg :alt: PyPI - Python Version :target: https://github.com/jsfehler/pytest-match-skip

.. image:: https://img.shields.io/github/license/jsfehler/pytest-match-skip.svg :alt: GitHub :target: https://github.com/jsfehler/pytest-match-skip/blob/master/LICENSE

.. image:: https://travis-ci.org/jsfehler/pytest-match-skip.svg?branch=master :target: https://travis-ci.org/jsfehler/pytest-match-skip :alt: See Build Status on Travis CI

.. image:: https://ci.appveyor.com/api/projects/status/github/jsfehler/pytest-match-skip?branch=master :target: https://ci.appveyor.com/project/jsfehler/pytest-match-skip/branch/master :alt: See Build Status on AppVeyor

Skip matching marks. Matches partial marks using wildcards.


This Pytest_ plugin was generated with Cookiecutter_ along with @hackebrot's Cookiecutter-pytest-plugin template.

Features

  • Allows any tag to be used for a skip or xfail
  • Wildcards can be used for tags with variable parts (ie: Specify bug_.* for bug_123, bug_777)
  • Important tags can be specified and the user will be warned when they're skipped
  • Tags that should be skipped can be forced to run anyways

Installation

You can install "pytest-match-skip" via pip_ from PyPI_::

pip install pytest-match-skip

Usage

command line options ^^^^^^^^^^^^^^^^^^^^

  • The following pytest options can be used on the command line:
    • --skip_marks
    • --important_marks
    • --run_skips
    • --xfail_skips

pytest ini options ^^^^^^^^^^^^^^^^^^

  • The following options can be added to a pytest.ini file:

    • skip_marks: List of marks that will be detected
    • important_marks: List of marks that will warn the user if skipped
    • run_skips: true or false to run tests with a skip mark
    • xfail_skips: true or false to xfail instead of skip the marked tests

    Example:

    .. code-block:: python

      [pytest]
      skip_marks = bug_.* .*_tracker .*_known_failure_.*
      important_marks = smoke .*_sanity important_.*
      run_skips = false
      xfail_skips = false
    

Hooks ^^^^^ The following pytest hooks are available:

  • pytest_match_skip_reason(request, message) - Called if a test is skipped
  • pytest_match_skip_run_skip_warning(request, message) - Called if run_skips is true and a test would otherwise be skipped.
  • pytest_match_skip_important_warning(request, message) - Called when important_marks are skipped

Contributing

Contributions are very welcome. Tests can be run with tox_, please ensure the coverage at least stays the same before you submit a pull request.

License

Distributed under the terms of the MIT_ license, "pytest-match-skip" is free and open source software

Issues

If you encounter any problems, please file an issue_ along with a detailed description.

.. _Cookiecutter: https://github.com/audreyr/cookiecutter .. _@hackebrot: https://github.com/hackebrot .. _MIT: http://opensource.org/licenses/MIT .. _cookiecutter-pytest-plugin: https://github.com/pytest-dev/cookiecutter-pytest-plugin .. _file an issue: https://github.com/jsfehler/pytest-match-skip/issues .. _pytest: https://github.com/pytest-dev/pytest .. _tox: https://tox.readthedocs.io/en/latest/ .. _pip: https://pypi.python.org/pypi/pip/ .. _PyPI: https://pypi.python.org/pypi