File: plugins.rst

package info (click to toggle)
python-pytest-cov 5.0.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 424 kB
  • sloc: python: 2,338; makefile: 6
file content (24 lines) | stat: -rw-r--r-- 989 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
===============
Plugin coverage
===============

Getting coverage on pytest plugins is a very particular situation. Because of how pytest implements plugins (using setuptools
entrypoints) it doesn't allow controlling the order in which the plugins load.
See `pytest/issues/935 <https://github.com/pytest-dev/pytest/issues/935#issuecomment-245107960>`_ for technical details.

The current way of dealing with this problem is using the append feature and manually starting ``pytest-cov``'s engine, eg::

    COV_CORE_SOURCE=src COV_CORE_CONFIG=.coveragerc COV_CORE_DATAFILE=.coverage.eager pytest --cov=src --cov-append

Alternatively you can have this in ``tox.ini`` (if you're using `Tox <https://tox.wiki/en/latest/>`_ of course)::

    [testenv]
    setenv =
        COV_CORE_SOURCE=
        COV_CORE_CONFIG={toxinidir}/.coveragerc
        COV_CORE_DATAFILE={toxinidir}/.coverage

And in ``pytest.ini`` / ``tox.ini`` / ``setup.cfg``::

    [tool:pytest]
    addopts = --cov --cov-append