Merge branch 'main' into Improvement-remove-prune_dependency_tree
This commit is contained in:
commit
c96233919f
|
@ -73,7 +73,7 @@ jobs:
|
|||
persist-credentials: false
|
||||
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v4
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: "3.11"
|
||||
|
||||
|
|
|
@ -32,7 +32,7 @@ jobs:
|
|||
fetch-depth: 0
|
||||
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v4
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: "3.8"
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@ jobs:
|
|||
permissions:
|
||||
issues: write
|
||||
steps:
|
||||
- uses: actions/stale@v8
|
||||
- uses: actions/stale@v9
|
||||
with:
|
||||
debug-only: false
|
||||
days-before-issue-stale: 14
|
||||
|
|
|
@ -156,7 +156,7 @@ jobs:
|
|||
tox_env: "py312-xdist"
|
||||
|
||||
- name: "plugins"
|
||||
python: "3.9"
|
||||
python: "3.12"
|
||||
os: ubuntu-latest
|
||||
tox_env: "plugins"
|
||||
|
||||
|
@ -179,7 +179,7 @@ jobs:
|
|||
path: dist
|
||||
|
||||
- name: Set up Python ${{ matrix.python }}
|
||||
uses: actions/setup-python@v4
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: ${{ matrix.python }}
|
||||
check-latest: ${{ endsWith(matrix.python, '-dev') }}
|
||||
|
|
|
@ -25,7 +25,7 @@ jobs:
|
|||
fetch-depth: 0
|
||||
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@v4
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: "3.11"
|
||||
cache: pip
|
||||
|
|
1
AUTHORS
1
AUTHORS
|
@ -48,6 +48,7 @@ Ariel Pillemer
|
|||
Armin Rigo
|
||||
Aron Coyle
|
||||
Aron Curzon
|
||||
Arthur Richard
|
||||
Ashish Kurmi
|
||||
Aviral Verma
|
||||
Aviv Palivoda
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
The classes :class:`~_pytest.nodes.Node`, :class:`~pytest.Collector`, :class:`~pytest.Item`, :class:`~pytest.File`, :class:`~_pytest.nodes.FSCollector` are now marked abstract (see :mod:`abc`).
|
||||
|
||||
We do not expect this change to affect users and plugin authors, it will only cause errors when the code is already wrong or problematic.
|
|
@ -1344,7 +1344,7 @@ Features
|
|||
|
||||
This is part of the movement to use :class:`pathlib.Path` objects internally, in order to remove the dependency to ``py`` in the future.
|
||||
|
||||
Internally, the old :class:`~pytest.Testdir` is now a thin wrapper around :class:`~pytest.Pytester`, preserving the old interface.
|
||||
Internally, the old ``pytest.Testdir`` is now a thin wrapper around :class:`~pytest.Pytester`, preserving the old interface.
|
||||
|
||||
|
||||
- :issue:`7695`: A new hook was added, `pytest_markeval_namespace` which should return a dictionary.
|
||||
|
@ -1592,7 +1592,7 @@ Improvements
|
|||
|
||||
|
||||
- :issue:`7685`: Added two new attributes :attr:`rootpath <pytest.Config.rootpath>` and :attr:`inipath <pytest.Config.inipath>` to :class:`~pytest.Config`.
|
||||
These attributes are :class:`pathlib.Path` versions of the existing :attr:`rootdir <pytest.Config.rootdir>` and :attr:`inifile <pytest.Config.inifile>` attributes,
|
||||
These attributes are :class:`pathlib.Path` versions of the existing ``rootdir`` and ``inifile`` attributes,
|
||||
and should be preferred over them when possible.
|
||||
|
||||
|
||||
|
@ -2139,7 +2139,7 @@ Bug Fixes
|
|||
parameter when Python is called with the ``-bb`` flag.
|
||||
|
||||
|
||||
- :issue:`7143`: Fix :meth:`pytest.File.from_parent` so it forwards extra keyword arguments to the constructor.
|
||||
- :issue:`7143`: Fix :meth:`pytest.File.from_parent <_pytest.nodes.Node.from_parent>` so it forwards extra keyword arguments to the constructor.
|
||||
|
||||
|
||||
- :issue:`7145`: Classes with broken ``__getattribute__`` methods are displayed correctly during failures.
|
||||
|
@ -2458,7 +2458,7 @@ Bug Fixes
|
|||
- :issue:`6597`: Fix node ids which contain a parametrized empty-string variable.
|
||||
|
||||
|
||||
- :issue:`6646`: Assertion rewriting hooks are (re)stored for the current item, which fixes them being still used after e.g. pytester's :func:`testdir.runpytest <pytest.Testdir.runpytest>` etc.
|
||||
- :issue:`6646`: Assertion rewriting hooks are (re)stored for the current item, which fixes them being still used after e.g. pytester's ``testdir.runpytest`` etc.
|
||||
|
||||
|
||||
- :issue:`6660`: :py:func:`pytest.exit` is handled when emitted from the :hook:`pytest_sessionfinish` hook. This includes quitting from a debugger.
|
||||
|
|
|
@ -169,6 +169,50 @@ extlinks = {
|
|||
}
|
||||
|
||||
|
||||
nitpicky = True
|
||||
nitpick_ignore = [
|
||||
# TODO (fix in pluggy?)
|
||||
("py:class", "HookCaller"),
|
||||
("py:class", "HookspecMarker"),
|
||||
("py:exc", "PluginValidationError"),
|
||||
# Might want to expose/TODO (https://github.com/pytest-dev/pytest/issues/7469)
|
||||
("py:class", "ExceptionRepr"),
|
||||
("py:class", "Exit"),
|
||||
("py:class", "SubRequest"),
|
||||
("py:class", "SubRequest"),
|
||||
("py:class", "TerminalReporter"),
|
||||
("py:class", "_pytest._code.code.TerminalRepr"),
|
||||
("py:class", "_pytest.fixtures.FixtureFunctionMarker"),
|
||||
("py:class", "_pytest.logging.LogCaptureHandler"),
|
||||
("py:class", "_pytest.mark.structures.ParameterSet"),
|
||||
# Intentionally undocumented/private
|
||||
("py:class", "_pytest._code.code.Traceback"),
|
||||
("py:class", "_pytest._py.path.LocalPath"),
|
||||
("py:class", "_pytest.capture.CaptureResult"),
|
||||
("py:class", "_pytest.compat.NotSetType"),
|
||||
("py:class", "_pytest.python.PyCollector"),
|
||||
("py:class", "_pytest.python.PyobjMixin"),
|
||||
("py:class", "_pytest.python_api.RaisesContext"),
|
||||
("py:class", "_pytest.recwarn.WarningsChecker"),
|
||||
("py:class", "_pytest.reports.BaseReport"),
|
||||
# Undocumented third parties
|
||||
("py:class", "_tracing.TagTracerSub"),
|
||||
("py:class", "warnings.WarningMessage"),
|
||||
# Undocumented type aliases
|
||||
("py:class", "LEGACY_PATH"),
|
||||
("py:class", "_PluggyPlugin"),
|
||||
# TypeVars
|
||||
("py:class", "_pytest._code.code.E"),
|
||||
("py:class", "_pytest.fixtures.FixtureFunction"),
|
||||
("py:class", "_pytest.nodes._NodeType"),
|
||||
("py:class", "_pytest.python_api.E"),
|
||||
("py:class", "_pytest.recwarn.T"),
|
||||
("py:class", "_pytest.runner.TResult"),
|
||||
("py:obj", "_pytest.fixtures.FixtureValue"),
|
||||
("py:obj", "_pytest.stash.T"),
|
||||
]
|
||||
|
||||
|
||||
# -- Options for HTML output ---------------------------------------------------
|
||||
|
||||
sys.path.append(os.path.abspath("_themes"))
|
||||
|
|
|
@ -168,7 +168,7 @@ Now we'll get feedback on a bad argument:
|
|||
|
||||
|
||||
If you need to provide more detailed error messages, you can use the
|
||||
``type`` parameter and raise ``pytest.UsageError``:
|
||||
``type`` parameter and raise :exc:`pytest.UsageError`:
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
|
|
|
@ -44,7 +44,7 @@ There are several limitations and difficulties with this approach:
|
|||
|
||||
2. parametrizing the "db" resource is not straight forward:
|
||||
you need to apply a "parametrize" decorator or implement a
|
||||
:py:func:`~hookspec.pytest_generate_tests` hook
|
||||
:hook:`pytest_generate_tests` hook
|
||||
calling :py:func:`~pytest.Metafunc.parametrize` which
|
||||
performs parametrization at the places where the resource
|
||||
is used. Moreover, you need to modify the factory to use an
|
||||
|
@ -92,7 +92,7 @@ Direct parametrization of funcarg resource factories
|
|||
|
||||
Previously, funcarg factories could not directly cause parametrization.
|
||||
You needed to specify a ``@parametrize`` decorator on your test function
|
||||
or implement a ``pytest_generate_tests`` hook to perform
|
||||
or implement a :hook:`pytest_generate_tests` hook to perform
|
||||
parametrization, i.e. calling a test multiple times with different value
|
||||
sets. pytest-2.3 introduces a decorator for use on the factory itself:
|
||||
|
||||
|
|
|
@ -93,7 +93,7 @@ Fixture availability is determined from the perspective of the test. A fixture
|
|||
is only available for tests to request if they are in the scope that fixture is
|
||||
defined in. If a fixture is defined inside a class, it can only be requested by
|
||||
tests inside that class. But if a fixture is defined inside the global scope of
|
||||
the module, than every test in that module, even if it's defined inside a class,
|
||||
the module, then every test in that module, even if it's defined inside a class,
|
||||
can request it.
|
||||
|
||||
Similarly, a test can also only be affected by an autouse fixture if that test
|
||||
|
|
|
@ -27,7 +27,7 @@ please refer to `the update script <https://github.com/pytest-dev/pytest/blob/ma
|
|||
creating a PDF, because otherwise the table gets far too wide for the
|
||||
page.
|
||||
|
||||
This list contains 1351 plugins.
|
||||
This list contains 1354 plugins.
|
||||
|
||||
.. only:: not latex
|
||||
|
||||
|
@ -67,7 +67,7 @@ This list contains 1351 plugins.
|
|||
:pypi:`pytest-allure-intersection` Oct 27, 2022 N/A pytest (<5)
|
||||
:pypi:`pytest-allure-spec-coverage` The pytest plugin aimed to display test coverage of the specs(requirements) in Allure Oct 26, 2021 N/A pytest
|
||||
:pypi:`pytest-alphamoon` Static code checks used at Alphamoon Dec 30, 2021 5 - Production/Stable pytest (>=3.5.0)
|
||||
:pypi:`pytest-analyzer` this plugin allows to analyze tests in pytest project, collect test metadata and sync it with testomat.io TCM system Nov 08, 2023 N/A pytest >=7.3.1
|
||||
:pypi:`pytest-analyzer` this plugin allows to analyze tests in pytest project, collect test metadata and sync it with testomat.io TCM system Dec 06, 2023 N/A pytest >=7.3.1
|
||||
:pypi:`pytest-android` This fixture provides a configured "driver" for Android Automated Testing, using uiautomator2. Feb 21, 2019 3 - Alpha pytest
|
||||
:pypi:`pytest-anki` A pytest plugin for testing Anki add-ons Jul 31, 2022 4 - Beta pytest (>=3.5.0)
|
||||
:pypi:`pytest-annotate` pytest-annotate: Generate PyAnnotate annotations from your pytest tests. Jun 07, 2022 3 - Alpha pytest (<8.0.0,>=3.2.0)
|
||||
|
@ -105,7 +105,7 @@ This list contains 1351 plugins.
|
|||
:pypi:`pytest-astropy-header` pytest plugin to add diagnostic information to the header of the test output Sep 06, 2022 3 - Alpha pytest (>=4.6)
|
||||
:pypi:`pytest-ast-transformer` May 04, 2019 3 - Alpha pytest
|
||||
:pypi:`pytest-async-generators` Pytest fixtures for async generators Jul 05, 2023 N/A N/A
|
||||
:pypi:`pytest-asyncio` Pytest support for asyncio Nov 27, 2023 4 - Beta pytest (>=7.0.0)
|
||||
:pypi:`pytest-asyncio` Pytest support for asyncio Dec 09, 2023 4 - Beta pytest >=7.0.0
|
||||
:pypi:`pytest-asyncio-cooperative` Run all your asynchronous tests cooperatively. Nov 30, 2023 N/A N/A
|
||||
:pypi:`pytest-asyncio-network-simulator` pytest-asyncio-network-simulator: Plugin for pytest for simulator the network in tests Jul 31, 2018 3 - Alpha pytest (<3.7.0,>=3.3.2)
|
||||
:pypi:`pytest-async-mongodb` pytest plugin for async MongoDB Oct 18, 2017 5 - Production/Stable pytest (>=2.5.2)
|
||||
|
@ -132,7 +132,7 @@ This list contains 1351 plugins.
|
|||
:pypi:`pytest-bandit` A bandit plugin for pytest Feb 23, 2021 4 - Beta pytest (>=3.5.0)
|
||||
:pypi:`pytest-bandit-xayon` A bandit plugin for pytest Oct 17, 2022 4 - Beta pytest (>=3.5.0)
|
||||
:pypi:`pytest-base-url` pytest plugin for URL based testing Mar 27, 2022 5 - Production/Stable pytest (>=3.0.0,<8.0.0)
|
||||
:pypi:`pytest-bdd` BDD for pytest Oct 10, 2023 6 - Mature pytest (>=6.2.0)
|
||||
:pypi:`pytest-bdd` BDD for pytest Dec 02, 2023 6 - Mature pytest (>=6.2.0)
|
||||
:pypi:`pytest-bdd-html` pytest plugin to display BDD info in HTML test report Nov 22, 2022 3 - Alpha pytest (!=6.0.0,>=5.0)
|
||||
:pypi:`pytest-bdd-ng` BDD for pytest Jul 01, 2023 4 - Beta pytest (>=5.0)
|
||||
:pypi:`pytest-bdd-report` A pytest-bdd plugin for generating useful and informative BDD test reports Nov 15, 2023 N/A pytest >=7.1.3
|
||||
|
@ -190,7 +190,7 @@ This list contains 1351 plugins.
|
|||
:pypi:`pytest-cassandra` Cassandra CCM Test Fixtures for pytest Nov 04, 2017 1 - Planning N/A
|
||||
:pypi:`pytest-catchlog` py.test plugin to catch log messages. This is a fork of pytest-capturelog. Jan 24, 2016 4 - Beta pytest (>=2.6)
|
||||
:pypi:`pytest-catch-server` Pytest plugin with server for catching HTTP requests. Dec 12, 2019 5 - Production/Stable N/A
|
||||
:pypi:`pytest-celery` pytest-celery a shim pytest plugin to enable celery.contrib.pytest May 06, 2021 N/A N/A
|
||||
:pypi:`pytest-celery` pytest-celery a shim pytest plugin to enable celery.contrib.pytest Dec 07, 2023 N/A N/A
|
||||
:pypi:`pytest-chainmaker` pytest plugin for chainmaker Oct 15, 2021 N/A N/A
|
||||
:pypi:`pytest-chalice` A set of py.test fixtures for AWS Chalice Jul 01, 2020 4 - Beta N/A
|
||||
:pypi:`pytest-change-assert` 修改报错中文为英文 Oct 19, 2022 N/A N/A
|
||||
|
@ -200,7 +200,7 @@ This list contains 1351 plugins.
|
|||
:pypi:`pytest-chdir` A pytest fixture for changing current working directory Jan 28, 2020 N/A pytest (>=5.0.0,<6.0.0)
|
||||
:pypi:`pytest-check` A pytest plugin that allows multiple failures per test. Sep 22, 2023 N/A pytest
|
||||
:pypi:`pytest-checkdocs` check the README when running tests Jul 30, 2023 5 - Production/Stable pytest (>=6) ; extra == 'testing'
|
||||
:pypi:`pytest-checkipdb` plugin to check if there are ipdb debugs left Jul 22, 2020 5 - Production/Stable pytest (>=2.9.2)
|
||||
:pypi:`pytest-checkipdb` plugin to check if there are ipdb debugs left Dec 04, 2023 5 - Production/Stable pytest >=2.9.2
|
||||
:pypi:`pytest-check-library` check your missing library Jul 17, 2022 N/A N/A
|
||||
:pypi:`pytest-check-libs` check your missing library Jul 17, 2022 N/A N/A
|
||||
:pypi:`pytest-check-links` Check links in files Jul 29, 2020 N/A pytest>=7.0
|
||||
|
@ -252,7 +252,7 @@ This list contains 1351 plugins.
|
|||
:pypi:`pytest-contexts` A plugin to run tests written with the Contexts framework using pytest May 19, 2021 4 - Beta N/A
|
||||
:pypi:`pytest-cookies` The pytest plugin for your Cookiecutter templates. 🍪 Mar 22, 2023 5 - Production/Stable pytest (>=3.9.0)
|
||||
:pypi:`pytest-copie` The pytest plugin for your copier templates 📒 Nov 14, 2023 3 - Alpha pytest
|
||||
:pypi:`pytest-copier` A pytest plugin to help testing Copier templates Jun 23, 2023 4 - Beta pytest>=7.1.2
|
||||
:pypi:`pytest-copier` A pytest plugin to help testing Copier templates Dec 08, 2023 4 - Beta pytest>=7.3.2
|
||||
:pypi:`pytest-couchdbkit` py.test extension for per-test couchdb databases using couchdbkit Apr 17, 2012 N/A N/A
|
||||
:pypi:`pytest-count` count erros and send email Jan 12, 2018 4 - Beta N/A
|
||||
:pypi:`pytest-cov` Pytest plugin for measuring coverage. May 24, 2023 5 - Production/Stable pytest (>=4.6)
|
||||
|
@ -328,7 +328,7 @@ This list contains 1351 plugins.
|
|||
:pypi:`pytest-diffeo` A package to prevent Dependency Confusion attacks against Yandex. Feb 10, 2023 N/A N/A
|
||||
:pypi:`pytest-diff-selector` Get tests affected by code changes (using git) Feb 24, 2022 4 - Beta pytest (>=6.2.2) ; extra == 'all'
|
||||
:pypi:`pytest-difido` PyTest plugin for generating Difido reports Oct 23, 2022 4 - Beta pytest (>=4.0.0)
|
||||
:pypi:`pytest-dir-equal` pytest-dir-equals is a pytest plugin providing helpers to assert directories equality allowing golden testing Jun 23, 2023 4 - Beta pytest>=7.1.2
|
||||
:pypi:`pytest-dir-equal` pytest-dir-equals is a pytest plugin providing helpers to assert directories equality allowing golden testing Dec 05, 2023 4 - Beta pytest>=7.3.2
|
||||
:pypi:`pytest-disable` pytest plugin to disable a test and skip it from testrun Sep 10, 2015 4 - Beta N/A
|
||||
:pypi:`pytest-disable-plugin` Disable plugins per test Feb 28, 2019 4 - Beta pytest (>=3.5.0)
|
||||
:pypi:`pytest-discord` A pytest plugin to notify test results to a Discord channel. Oct 18, 2023 4 - Beta pytest !=6.0.0,<8,>=3.3.2
|
||||
|
@ -379,7 +379,7 @@ This list contains 1351 plugins.
|
|||
:pypi:`pytest-doctest-import` A simple pytest plugin to import names and add them to the doctest namespace. Nov 13, 2018 4 - Beta pytest (>=3.3.0)
|
||||
:pypi:`pytest-doctestplus` Pytest plugin with advanced doctest features. Aug 11, 2023 3 - Alpha pytest >=4.6
|
||||
:pypi:`pytest-dogu-report` pytest plugin for dogu report Jul 07, 2023 N/A N/A
|
||||
:pypi:`pytest-dogu-sdk` pytest plugin for the Dogu Nov 20, 2023 N/A N/A
|
||||
:pypi:`pytest-dogu-sdk` pytest plugin for the Dogu Dec 05, 2023 N/A N/A
|
||||
:pypi:`pytest-dolphin` Some extra stuff that we use ininternally Nov 30, 2016 4 - Beta pytest (==3.0.4)
|
||||
:pypi:`pytest-donde` record pytest session characteristics per test item (coverage and duration) into a persistent file and use them in your own plugin or script. Oct 01, 2023 4 - Beta pytest >=7.3.1
|
||||
:pypi:`pytest-doorstop` A pytest plugin for adding test results into doorstop items. Jun 09, 2020 4 - Beta pytest (>=3.5.0)
|
||||
|
@ -403,21 +403,21 @@ This list contains 1351 plugins.
|
|||
:pypi:`pytest-easy-server` Pytest plugin for easy testing against servers May 01, 2021 4 - Beta pytest (<5.0.0,>=4.3.1) ; python_version < "3.5"
|
||||
:pypi:`pytest-ebics-sandbox` A pytest plugin for testing against an EBICS sandbox server. Requires docker. Aug 15, 2022 N/A N/A
|
||||
:pypi:`pytest-ec2` Pytest execution on EC2 instance Oct 22, 2019 3 - Alpha N/A
|
||||
:pypi:`pytest-echo` pytest plugin with mechanisms for echoing environment variables, package version and generic attributes Jan 08, 2020 5 - Production/Stable N/A
|
||||
:pypi:`pytest-echo` pytest plugin with mechanisms for echoing environment variables, package version and generic attributes Dec 05, 2023 5 - Production/Stable pytest >=2.2
|
||||
:pypi:`pytest-ekstazi` Pytest plugin to select test using Ekstazi algorithm Sep 10, 2022 N/A pytest
|
||||
:pypi:`pytest-elasticsearch` Elasticsearch fixtures and fixture factories for Pytest. Sep 13, 2023 5 - Production/Stable pytest >=7.0
|
||||
:pypi:`pytest-elements` Tool to help automate user interfaces Jan 13, 2021 N/A pytest (>=5.4,<6.0)
|
||||
:pypi:`pytest-eliot` An eliot plugin for pytest. Aug 31, 2022 1 - Planning pytest (>=5.4.0)
|
||||
:pypi:`pytest-elk-reporter` A simple plugin to use with pytest Jan 24, 2021 4 - Beta pytest (>=3.5.0)
|
||||
:pypi:`pytest-email` Send execution result email Jul 08, 2020 N/A pytest
|
||||
:pypi:`pytest-embedded` A pytest plugin that designed for embedded testing. Nov 27, 2023 5 - Production/Stable pytest>=7.0
|
||||
:pypi:`pytest-embedded-arduino` Make pytest-embedded plugin work with Arduino. Nov 27, 2023 5 - Production/Stable N/A
|
||||
:pypi:`pytest-embedded-idf` Make pytest-embedded plugin work with ESP-IDF. Nov 27, 2023 5 - Production/Stable N/A
|
||||
:pypi:`pytest-embedded-jtag` Make pytest-embedded plugin work with JTAG. Nov 27, 2023 5 - Production/Stable N/A
|
||||
:pypi:`pytest-embedded-qemu` Make pytest-embedded plugin work with QEMU. Nov 27, 2023 5 - Production/Stable N/A
|
||||
:pypi:`pytest-embedded-serial` Make pytest-embedded plugin work with Serial. Nov 27, 2023 5 - Production/Stable N/A
|
||||
:pypi:`pytest-embedded-serial-esp` Make pytest-embedded plugin work with Espressif target boards. Nov 27, 2023 5 - Production/Stable N/A
|
||||
:pypi:`pytest-embedded-wokwi` Make pytest-embedded plugin work with the Wokwi CLI. Nov 27, 2023 5 - Production/Stable N/A
|
||||
:pypi:`pytest-embedded` A pytest plugin that designed for embedded testing. Dec 04, 2023 5 - Production/Stable pytest>=7.0
|
||||
:pypi:`pytest-embedded-arduino` Make pytest-embedded plugin work with Arduino. Dec 04, 2023 5 - Production/Stable N/A
|
||||
:pypi:`pytest-embedded-idf` Make pytest-embedded plugin work with ESP-IDF. Dec 04, 2023 5 - Production/Stable N/A
|
||||
:pypi:`pytest-embedded-jtag` Make pytest-embedded plugin work with JTAG. Dec 04, 2023 5 - Production/Stable N/A
|
||||
:pypi:`pytest-embedded-qemu` Make pytest-embedded plugin work with QEMU. Dec 04, 2023 5 - Production/Stable N/A
|
||||
:pypi:`pytest-embedded-serial` Make pytest-embedded plugin work with Serial. Dec 04, 2023 5 - Production/Stable N/A
|
||||
:pypi:`pytest-embedded-serial-esp` Make pytest-embedded plugin work with Espressif target boards. Dec 04, 2023 5 - Production/Stable N/A
|
||||
:pypi:`pytest-embedded-wokwi` Make pytest-embedded plugin work with the Wokwi CLI. Dec 04, 2023 5 - Production/Stable N/A
|
||||
:pypi:`pytest-embrace` 💝 Dataclasses-as-tests. Describe the runtime once and multiply coverage with no boilerplate. Mar 25, 2023 N/A pytest (>=7.0,<8.0)
|
||||
:pypi:`pytest-emoji` A pytest plugin that adds emojis to your test result report Feb 19, 2019 4 - Beta pytest (>=4.2.1)
|
||||
:pypi:`pytest-emoji-output` Pytest plugin to represent test output with emoji support Apr 09, 2023 4 - Beta pytest (==7.0.1)
|
||||
|
@ -531,12 +531,12 @@ This list contains 1351 plugins.
|
|||
:pypi:`pytest-gather-fixtures` set up asynchronous pytest fixtures concurrently Apr 12, 2022 N/A pytest (>=6.0.0)
|
||||
:pypi:`pytest-gc` The garbage collector plugin for py.test Feb 01, 2018 N/A N/A
|
||||
:pypi:`pytest-gcov` Uses gcov to measure test coverage of a C library Feb 01, 2018 3 - Alpha N/A
|
||||
:pypi:`pytest-gee` The Python plugin for your GEE based packages. Nov 22, 2023 3 - Alpha pytest; extra == 'test'
|
||||
:pypi:`pytest-gee` The Python plugin for your GEE based packages. Dec 04, 2023 3 - Alpha pytest
|
||||
:pypi:`pytest-gevent` Ensure that gevent is properly patched when invoking pytest Feb 25, 2020 N/A pytest
|
||||
:pypi:`pytest-gherkin` A flexible framework for executing BDD gherkin tests Jul 27, 2019 3 - Alpha pytest (>=5.0.0)
|
||||
:pypi:`pytest-gh-log-group` pytest plugin for gh actions Jan 11, 2022 3 - Alpha pytest
|
||||
:pypi:`pytest-ghostinspector` For finding/executing Ghost Inspector tests May 17, 2016 3 - Alpha N/A
|
||||
:pypi:`pytest-girder` A set of pytest fixtures for testing Girder applications. Nov 20, 2023 N/A N/A
|
||||
:pypi:`pytest-girder` A set of pytest fixtures for testing Girder applications. Dec 05, 2023 N/A N/A
|
||||
:pypi:`pytest-git` Git repository fixture for py.test May 28, 2019 5 - Production/Stable pytest
|
||||
:pypi:`pytest-gitconfig` Provide a gitconfig sandbox for testing Oct 15, 2023 4 - Beta pytest>=7.1.2
|
||||
:pypi:`pytest-gitcov` Pytest plugin for reporting on coverage of the last git commit. Jan 11, 2020 2 - Pre-Alpha N/A
|
||||
|
@ -574,7 +574,7 @@ This list contains 1351 plugins.
|
|||
:pypi:`pytest-history` Pytest plugin to keep a history of your pytest runs Nov 20, 2023 N/A pytest (>=7.4.3,<8.0.0)
|
||||
:pypi:`pytest-home` Home directory fixtures Oct 09, 2023 5 - Production/Stable pytest
|
||||
:pypi:`pytest-homeassistant` A pytest plugin for use with homeassistant custom components. Aug 12, 2020 4 - Beta N/A
|
||||
:pypi:`pytest-homeassistant-custom-component` Experimental package to automatically extract test plugins for Home Assistant custom components Dec 01, 2023 3 - Alpha pytest ==7.4.3
|
||||
:pypi:`pytest-homeassistant-custom-component` Experimental package to automatically extract test plugins for Home Assistant custom components Dec 09, 2023 3 - Alpha pytest ==7.4.3
|
||||
:pypi:`pytest-honey` A simple plugin to use with pytest Jan 07, 2022 4 - Beta pytest (>=3.5.0)
|
||||
:pypi:`pytest-honors` Report on tests that honor constraints, and guard against regressions Mar 06, 2020 4 - Beta N/A
|
||||
:pypi:`pytest-hot-reloading` Dec 01, 2023 N/A N/A
|
||||
|
@ -606,7 +606,7 @@ This list contains 1351 plugins.
|
|||
:pypi:`pytest-hypo-25` help hypo module for pytest Jan 12, 2020 3 - Alpha N/A
|
||||
:pypi:`pytest-iam` A fully functional OAUTH2 / OpenID Connect (OIDC) server to be used in your testsuite Aug 31, 2023 3 - Alpha pytest (>=7.0.0,<8.0.0)
|
||||
:pypi:`pytest-ibutsu` A plugin to sent pytest results to an Ibutsu server Aug 05, 2022 4 - Beta pytest>=7.1
|
||||
:pypi:`pytest-icdiff` use icdiff for better error messages in pytest assertions Sep 20, 2023 4 - Beta pytest
|
||||
:pypi:`pytest-icdiff` use icdiff for better error messages in pytest assertions Dec 05, 2023 4 - Beta pytest
|
||||
:pypi:`pytest-idapro` A pytest plugin for idapython. Allows a pytest setup to run tests outside and inside IDA in an automated manner by runnig pytest inside IDA and by mocking idapython api Nov 03, 2018 N/A N/A
|
||||
:pypi:`pytest-idem` A pytest plugin to help with testing idem projects Jun 23, 2023 5 - Production/Stable N/A
|
||||
:pypi:`pytest-idempotent` Pytest plugin for testing function idempotence. Jul 25, 2022 N/A N/A
|
||||
|
@ -634,7 +634,7 @@ This list contains 1351 plugins.
|
|||
:pypi:`pytest-integration-mark` Automatic integration test marking and excluding plugin for pytest May 22, 2023 N/A pytest (>=5.2)
|
||||
:pypi:`pytest-interactive` A pytest plugin for console based interactive test selection just after the collection phase Nov 30, 2017 3 - Alpha N/A
|
||||
:pypi:`pytest-intercept-remote` Pytest plugin for intercepting outgoing connection requests during pytest run. May 24, 2021 4 - Beta pytest (>=4.6)
|
||||
:pypi:`pytest-interface-tester` Pytest plugin for checking charm relation interface protocol compliance. Nov 29, 2023 4 - Beta pytest
|
||||
:pypi:`pytest-interface-tester` Pytest plugin for checking charm relation interface protocol compliance. Dec 05, 2023 4 - Beta pytest
|
||||
:pypi:`pytest-invenio` Pytest fixtures for Invenio. Oct 31, 2023 5 - Production/Stable pytest <7.2.0,>=6
|
||||
:pypi:`pytest-involve` Run tests covering a specific file or changeset Feb 02, 2020 4 - Beta pytest (>=3.5.0)
|
||||
:pypi:`pytest-ipdb` A py.test plug-in to enable drop to ipdb debugger on test failure. Mar 20, 2013 2 - Pre-Alpha N/A
|
||||
|
@ -661,7 +661,7 @@ This list contains 1351 plugins.
|
|||
:pypi:`pytest-json-report` A pytest plugin to report test results as JSON files Mar 15, 2022 4 - Beta pytest (>=3.8.0)
|
||||
:pypi:`pytest-json-report-wip` A pytest plugin to report test results as JSON files Oct 28, 2023 4 - Beta pytest >=3.8.0
|
||||
:pypi:`pytest-jtr` pytest plugin supporting json test report output Nov 29, 2022 N/A pytest (>=7.1.2,<8.0.0)
|
||||
:pypi:`pytest-jupyter` A pytest plugin for testing Jupyter libraries and extensions. Mar 30, 2023 4 - Beta pytest
|
||||
:pypi:`pytest-jupyter` A pytest plugin for testing Jupyter libraries and extensions. Dec 05, 2023 4 - Beta pytest
|
||||
:pypi:`pytest-jupyterhub` A reusable JupyterHub pytest plugin Apr 25, 2023 5 - Production/Stable pytest
|
||||
:pypi:`pytest-kafka` Zookeeper, Kafka server, and Kafka consumer fixtures for Pytest Jun 14, 2023 N/A pytest
|
||||
:pypi:`pytest-kafkavents` A plugin to send pytest events to Kafka Sep 08, 2021 4 - Beta pytest
|
||||
|
@ -690,7 +690,7 @@ This list contains 1351 plugins.
|
|||
:pypi:`pytest-leaks` A pytest plugin to trace resource leaks. Nov 27, 2019 1 - Planning N/A
|
||||
:pypi:`pytest-level` Select tests of a given level or lower Oct 21, 2019 N/A pytest
|
||||
:pypi:`pytest-libfaketime` A python-libfaketime plugin for pytest. Dec 22, 2018 4 - Beta pytest (>=3.0.0)
|
||||
:pypi:`pytest-libiio` A pytest plugin to manage interfacing with libiio contexts Jul 11, 2022 4 - Beta N/A
|
||||
:pypi:`pytest-libiio` A pytest plugin to manage interfacing with libiio contexts Dec 06, 2023 4 - Beta N/A
|
||||
:pypi:`pytest-libnotify` Pytest plugin that shows notifications about the test run Apr 02, 2021 3 - Alpha pytest
|
||||
:pypi:`pytest-ligo` Jan 16, 2020 4 - Beta N/A
|
||||
:pypi:`pytest-lineno` A pytest plugin to show the line numbers of test functions Dec 04, 2020 N/A pytest
|
||||
|
@ -738,7 +738,7 @@ This list contains 1351 plugins.
|
|||
:pypi:`pytest-mccabe` pytest plugin to run the mccabe code complexity checker. Jul 22, 2020 3 - Alpha pytest (>=5.4.0)
|
||||
:pypi:`pytest-md` Plugin for generating Markdown reports for pytest results Jul 11, 2019 3 - Alpha pytest (>=4.2.1)
|
||||
:pypi:`pytest-md-report` A pytest plugin to make a test results report with Markdown table format. Oct 08, 2023 4 - Beta pytest !=6.0.0,<8,>=3.3.2
|
||||
:pypi:`pytest-meilisearch` Pytest helpers for testing projects using Meilisearch Nov 06, 2023 N/A pytest (>=7.4.3)
|
||||
:pypi:`pytest-meilisearch` Pytest helpers for testing projects using Meilisearch Dec 07, 2023 N/A pytest (>=7.4.3)
|
||||
:pypi:`pytest-memlog` Log memory usage during tests May 03, 2023 N/A pytest (>=7.3.0,<8.0.0)
|
||||
:pypi:`pytest-memprof` Estimates memory consumption of test functions Mar 29, 2019 4 - Beta N/A
|
||||
:pypi:`pytest-memray` A simple plugin to use with pytest Aug 23, 2023 N/A pytest>=7.2
|
||||
|
@ -749,10 +749,11 @@ This list contains 1351 plugins.
|
|||
:pypi:`pytest-messenger` Pytest to Slack reporting plugin Nov 24, 2022 5 - Production/Stable N/A
|
||||
:pypi:`pytest-metadata` pytest plugin for test session metadata May 27, 2023 5 - Production/Stable pytest>=7.0.0
|
||||
:pypi:`pytest-metrics` Custom metrics report for pytest Apr 04, 2020 N/A pytest
|
||||
:pypi:`pytest-mh` Pytest multihost plugin Nov 21, 2023 N/A pytest
|
||||
:pypi:`pytest-mh` Pytest multihost plugin Dec 07, 2023 N/A pytest
|
||||
:pypi:`pytest-mimesis` Mimesis integration with the pytest test runner Mar 21, 2020 5 - Production/Stable pytest (>=4.2)
|
||||
:pypi:`pytest-minecraft` A pytest plugin for running tests against Minecraft releases Apr 06, 2022 N/A pytest (>=6.0.1)
|
||||
:pypi:`pytest-mini` A plugin to test mp Feb 06, 2023 N/A pytest (>=7.2.0,<8.0.0)
|
||||
:pypi:`pytest-minio-mock` A pytest plugin for mocking Minio S3 interactions Dec 06, 2023 N/A pytest >=5.0.0
|
||||
:pypi:`pytest-missing-fixtures` Pytest plugin that creates missing fixtures Oct 14, 2020 4 - Beta pytest (>=3.5.0)
|
||||
:pypi:`pytest-ml` Test your machine learning! May 04, 2019 4 - Beta N/A
|
||||
:pypi:`pytest-mocha` pytest plugin to display test execution output like a mochajs Apr 02, 2020 4 - Beta pytest (>=5.4.0)
|
||||
|
@ -832,6 +833,7 @@ This list contains 1351 plugins.
|
|||
:pypi:`pytest-ogsm-plugin` 针对特定项目定制化插件,优化了pytest报告展示方式,并添加了项目所需特定参数 May 16, 2023 N/A N/A
|
||||
:pypi:`pytest-ok` The ultimate pytest output plugin Apr 01, 2019 4 - Beta N/A
|
||||
:pypi:`pytest-only` Use @pytest.mark.only to run a single test Jun 14, 2022 5 - Production/Stable pytest (<7.1); python_version <= "3.6"
|
||||
:pypi:`pytest-oof` A Pytest plugin providing structured, programmatic access to a test run's results Dec 05, 2023 4 - Beta N/A
|
||||
:pypi:`pytest-oot` Run object-oriented tests in a simple format Sep 18, 2016 4 - Beta N/A
|
||||
:pypi:`pytest-openfiles` Pytest plugin for detecting inadvertent open file handles Apr 16, 2020 3 - Alpha pytest (>=4.6)
|
||||
:pypi:`pytest-opentelemetry` A pytest plugin for instrumenting test runs via OpenTelemetry Oct 01, 2023 N/A pytest
|
||||
|
@ -942,7 +944,7 @@ This list contains 1351 plugins.
|
|||
:pypi:`pytest-pydocstyle` pytest plugin to run pydocstyle Jan 05, 2023 3 - Alpha N/A
|
||||
:pypi:`pytest-pylint` pytest plugin to check source code with pylint Oct 06, 2023 5 - Production/Stable pytest >=7.0
|
||||
:pypi:`pytest-pymysql-autorecord` Record PyMySQL queries and mock with the stored data. Sep 02, 2022 N/A N/A
|
||||
:pypi:`pytest-pyodide` Pytest plugin for testing applications that use Pyodide Nov 18, 2023 N/A pytest
|
||||
:pypi:`pytest-pyodide` Pytest plugin for testing applications that use Pyodide Dec 09, 2023 N/A pytest
|
||||
:pypi:`pytest-pypi` Easily test your HTTP library against a local copy of pypi Mar 04, 2018 3 - Alpha N/A
|
||||
:pypi:`pytest-pypom-navigation` Core engine for cookiecutter-qa and pytest-play packages Feb 18, 2019 4 - Beta pytest (>=3.0.7)
|
||||
:pypi:`pytest-pyppeteer` A plugin to run pyppeteer in pytest Apr 28, 2022 N/A pytest (>=6.2.5,<7.0.0)
|
||||
|
@ -983,7 +985,7 @@ This list contains 1351 plugins.
|
|||
:pypi:`pytest-readme` Test your README.md file Sep 02, 2022 5 - Production/Stable N/A
|
||||
:pypi:`pytest-reana` Pytest fixtures for REANA. Nov 30, 2023 3 - Alpha N/A
|
||||
:pypi:`pytest-recorder` Pytest plugin, meant to facilitate unit tests writing for tools consumming Web APIs. Nov 21, 2023 N/A N/A
|
||||
:pypi:`pytest-recording` A pytest plugin that allows you recording of network interactions via VCR.py Jul 31, 2023 4 - Beta pytest>=3.5.0
|
||||
:pypi:`pytest-recording` A pytest plugin that allows you recording of network interactions via VCR.py Dec 06, 2023 4 - Beta pytest>=3.5.0
|
||||
:pypi:`pytest-recordings` Provides pytest plugins for reporting request/response traffic, screenshots, and more to ReportPortal Aug 13, 2020 N/A N/A
|
||||
:pypi:`pytest-redis` Redis fixtures and fixture factories for Pytest. Apr 19, 2023 5 - Production/Stable pytest (>=6.2)
|
||||
:pypi:`pytest-redislite` Pytest plugin for testing code using Redis Apr 05, 2022 4 - Beta pytest
|
||||
|
@ -1013,7 +1015,7 @@ This list contains 1351 plugins.
|
|||
:pypi:`pytest-reportlog` Replacement for the --resultlog option, focused in simplicity and extensibility May 22, 2023 3 - Alpha pytest
|
||||
:pypi:`pytest-report-me` A pytest plugin to generate report. Dec 31, 2020 N/A pytest
|
||||
:pypi:`pytest-report-parameters` pytest plugin for adding tests' parameters to junit report Jun 18, 2020 3 - Alpha pytest (>=2.4.2)
|
||||
:pypi:`pytest-reportportal` Agent for Reporting results of tests to the Report Portal Oct 17, 2023 N/A pytest >=3.8.0
|
||||
:pypi:`pytest-reportportal` Agent for Reporting results of tests to the Report Portal Dec 06, 2023 N/A pytest >=3.8.0
|
||||
:pypi:`pytest-report-stream` A pytest plugin which allows to stream test reports at runtime Oct 22, 2023 4 - Beta N/A
|
||||
:pypi:`pytest-reqs` pytest plugin to check pinned requirements May 12, 2019 N/A pytest (>=2.4.2)
|
||||
:pypi:`pytest-requests` A simple plugin to use with pytest Jun 24, 2019 4 - Beta pytest (>=3.5.0)
|
||||
|
@ -1059,7 +1061,6 @@ This list contains 1351 plugins.
|
|||
:pypi:`pytest-ruff` pytest plugin to check ruff requirements. Oct 31, 2023 4 - Beta N/A
|
||||
:pypi:`pytest-run-changed` Pytest plugin that runs changed tests only Apr 02, 2021 3 - Alpha pytest
|
||||
:pypi:`pytest-runfailed` implement a --failed option for pytest Mar 24, 2016 N/A N/A
|
||||
:pypi:`pytest-runner` Invoke py.test as distutils command with dependency resolution Feb 25, 2022 5 - Production/Stable pytest (>=6) ; extra == 'testing'
|
||||
:pypi:`pytest-run-subprocess` Pytest Plugin for running and testing subprocesses. Nov 12, 2022 5 - Production/Stable pytest
|
||||
:pypi:`pytest-runtime-types` Checks type annotations on runtime while running tests. Feb 09, 2023 N/A pytest
|
||||
:pypi:`pytest-runtime-xfail` Call runtime_xfail() to mark running test as xfail. Aug 26, 2021 N/A pytest>=5.0.0
|
||||
|
@ -1073,7 +1074,7 @@ This list contains 1351 plugins.
|
|||
:pypi:`pytest-sanic` a pytest plugin for Sanic Oct 25, 2021 N/A pytest (>=5.2)
|
||||
:pypi:`pytest-sanity` Dec 07, 2020 N/A N/A
|
||||
:pypi:`pytest-sa-pg` May 14, 2019 N/A N/A
|
||||
:pypi:`pytest-sbase` A complete web automation framework for end-to-end testing. Dec 01, 2023 5 - Production/Stable N/A
|
||||
:pypi:`pytest-sbase` A complete web automation framework for end-to-end testing. Dec 08, 2023 5 - Production/Stable N/A
|
||||
:pypi:`pytest-scenario` pytest plugin for test scenarios Feb 06, 2017 3 - Alpha N/A
|
||||
:pypi:`pytest-schedule` The job of test scheduling for humans. Jan 07, 2023 5 - Production/Stable N/A
|
||||
:pypi:`pytest-schema` 👍 Validate return values against a schema-like object in testing Mar 14, 2022 5 - Production/Stable pytest (>=3.5.0)
|
||||
|
@ -1082,7 +1083,7 @@ This list contains 1351 plugins.
|
|||
:pypi:`pytest-select` A pytest plugin which allows to (de-)select tests from a file. Jan 18, 2019 3 - Alpha pytest (>=3.0)
|
||||
:pypi:`pytest-selenium` pytest plugin for Selenium Nov 20, 2023 5 - Production/Stable pytest>=6.0.0
|
||||
:pypi:`pytest-selenium-auto` pytest plugin to automatically capture screenshots upon selenium webdriver events Nov 07, 2023 N/A pytest >= 7.0.0
|
||||
:pypi:`pytest-seleniumbase` A complete web automation framework for end-to-end testing. Dec 01, 2023 5 - Production/Stable N/A
|
||||
:pypi:`pytest-seleniumbase` A complete web automation framework for end-to-end testing. Dec 08, 2023 5 - Production/Stable N/A
|
||||
:pypi:`pytest-selenium-enhancer` pytest plugin for Selenium Apr 29, 2022 5 - Production/Stable N/A
|
||||
:pypi:`pytest-selenium-pdiff` A pytest package implementing perceptualdiff for Selenium tests. Apr 06, 2017 2 - Pre-Alpha N/A
|
||||
:pypi:`pytest-send-email` Send pytest execution result email Dec 04, 2019 N/A N/A
|
||||
|
@ -1125,6 +1126,7 @@ This list contains 1351 plugins.
|
|||
:pypi:`pytest-smtp` Send email with pytest execution result Feb 20, 2021 N/A pytest
|
||||
:pypi:`pytest-smtp4dev` Plugin for smtp4dev API Jun 27, 2023 5 - Production/Stable N/A
|
||||
:pypi:`pytest-smtpd` An SMTP server for testing built on aiosmtpd May 15, 2023 N/A pytest
|
||||
:pypi:`pytest-smtp-test-server` pytest plugin for using \`smtp-test-server\` as a fixture Dec 03, 2023 2 - Pre-Alpha pytest (>=7.4.3,<8.0.0)
|
||||
:pypi:`pytest-snail` Plugin for adding a marker to slow running tests. 🐌 Nov 04, 2019 3 - Alpha pytest (>=5.0.1)
|
||||
:pypi:`pytest-snapci` py.test plugin for Snap-CI Nov 12, 2015 N/A N/A
|
||||
:pypi:`pytest-snapshot` A plugin for snapshot testing with pytest. Apr 23, 2022 4 - Beta pytest (>=3.0.0)
|
||||
|
@ -1203,6 +1205,7 @@ This list contains 1351 plugins.
|
|||
:pypi:`pytest-tape` easy assertion with expected results saved to yaml files Mar 17, 2021 4 - Beta N/A
|
||||
:pypi:`pytest-target` Pytest plugin for remote target orchestration. Jan 21, 2021 3 - Alpha pytest (>=6.1.2,<7.0.0)
|
||||
:pypi:`pytest-tblineinfo` tblineinfo is a py.test plugin that insert the node id in the final py.test report when --tb=line option is used Dec 01, 2015 3 - Alpha pytest (>=2.0)
|
||||
:pypi:`pytest-tcp` A Pytest plugin for test prioritization Dec 04, 2023 4 - Beta pytest >=7.4.3
|
||||
:pypi:`pytest-tcpclient` A pytest plugin for testing TCP clients Nov 16, 2022 N/A pytest (<8,>=7.1.3)
|
||||
:pypi:`pytest-tdd` run pytest on a python module Aug 18, 2023 4 - Beta N/A
|
||||
:pypi:`pytest-teamcity-logblock` py.test plugin to introduce block structure in teamcity build log, if output is not captured May 15, 2018 4 - Beta N/A
|
||||
|
@ -1264,7 +1267,7 @@ This list contains 1351 plugins.
|
|||
:pypi:`pytest-tldr` A pytest plugin that limits the output to just the things you need. Oct 26, 2022 4 - Beta pytest (>=3.5.0)
|
||||
:pypi:`pytest-tm4j-reporter` Cloud Jira Test Management (TM4J) PyTest reporter plugin Sep 01, 2020 N/A pytest
|
||||
:pypi:`pytest-tmnet` A small example package Mar 01, 2022 N/A N/A
|
||||
:pypi:`pytest-tmp-files` Utilities to create temporary file hierarchies in pytest. Apr 03, 2022 N/A pytest
|
||||
:pypi:`pytest-tmp-files` Utilities to create temporary file hierarchies in pytest. Dec 08, 2023 N/A pytest
|
||||
:pypi:`pytest-tmpfs` A pytest plugin that helps you on using a temporary filesystem for testing. Aug 29, 2022 N/A pytest
|
||||
:pypi:`pytest-tmreport` this is a vue-element ui report for pytest Aug 12, 2022 N/A N/A
|
||||
:pypi:`pytest-tmux` A pytest plugin that enables tmux driven tests Apr 22, 2023 4 - Beta N/A
|
||||
|
@ -1289,7 +1292,7 @@ This list contains 1351 plugins.
|
|||
:pypi:`pytest-tspwplib` A simple plugin to use with tspwplib Jan 08, 2021 4 - Beta pytest (>=3.5.0)
|
||||
:pypi:`pytest-tst` Customize pytest options, output and exit code to make it compatible with tst Apr 27, 2022 N/A pytest (>=5.0.0)
|
||||
:pypi:`pytest-tstcls` Test Class Base Mar 23, 2020 5 - Production/Stable N/A
|
||||
:pypi:`pytest-tui` Text User Interface (TUI) and HTML report for Pytest test runs Jun 12, 2023 4 - Beta N/A
|
||||
:pypi:`pytest-tui` Text User Interface (TUI) and HTML report for Pytest test runs Dec 08, 2023 4 - Beta N/A
|
||||
:pypi:`pytest-tutorials` Mar 11, 2023 N/A N/A
|
||||
:pypi:`pytest-twilio-conversations-client-mock` Aug 02, 2022 N/A N/A
|
||||
:pypi:`pytest-twisted` A twisted plugin for pytest. Oct 16, 2022 5 - Production/Stable pytest (>=2.3)
|
||||
|
@ -1622,7 +1625,7 @@ This list contains 1351 plugins.
|
|||
Static code checks used at Alphamoon
|
||||
|
||||
:pypi:`pytest-analyzer`
|
||||
*last release*: Nov 08, 2023,
|
||||
*last release*: Dec 06, 2023,
|
||||
*status*: N/A,
|
||||
*requires*: pytest >=7.3.1
|
||||
|
||||
|
@ -1888,9 +1891,9 @@ This list contains 1351 plugins.
|
|||
Pytest fixtures for async generators
|
||||
|
||||
:pypi:`pytest-asyncio`
|
||||
*last release*: Nov 27, 2023,
|
||||
*last release*: Dec 09, 2023,
|
||||
*status*: 4 - Beta,
|
||||
*requires*: pytest (>=7.0.0)
|
||||
*requires*: pytest >=7.0.0
|
||||
|
||||
Pytest support for asyncio
|
||||
|
||||
|
@ -2077,7 +2080,7 @@ This list contains 1351 plugins.
|
|||
pytest plugin for URL based testing
|
||||
|
||||
:pypi:`pytest-bdd`
|
||||
*last release*: Oct 10, 2023,
|
||||
*last release*: Dec 02, 2023,
|
||||
*status*: 6 - Mature,
|
||||
*requires*: pytest (>=6.2.0)
|
||||
|
||||
|
@ -2483,7 +2486,7 @@ This list contains 1351 plugins.
|
|||
Pytest plugin with server for catching HTTP requests.
|
||||
|
||||
:pypi:`pytest-celery`
|
||||
*last release*: May 06, 2021,
|
||||
*last release*: Dec 07, 2023,
|
||||
*status*: N/A,
|
||||
*requires*: N/A
|
||||
|
||||
|
@ -2553,9 +2556,9 @@ This list contains 1351 plugins.
|
|||
check the README when running tests
|
||||
|
||||
:pypi:`pytest-checkipdb`
|
||||
*last release*: Jul 22, 2020,
|
||||
*last release*: Dec 04, 2023,
|
||||
*status*: 5 - Production/Stable,
|
||||
*requires*: pytest (>=2.9.2)
|
||||
*requires*: pytest >=2.9.2
|
||||
|
||||
plugin to check if there are ipdb debugs left
|
||||
|
||||
|
@ -2917,9 +2920,9 @@ This list contains 1351 plugins.
|
|||
The pytest plugin for your copier templates 📒
|
||||
|
||||
:pypi:`pytest-copier`
|
||||
*last release*: Jun 23, 2023,
|
||||
*last release*: Dec 08, 2023,
|
||||
*status*: 4 - Beta,
|
||||
*requires*: pytest>=7.1.2
|
||||
*requires*: pytest>=7.3.2
|
||||
|
||||
A pytest plugin to help testing Copier templates
|
||||
|
||||
|
@ -3449,9 +3452,9 @@ This list contains 1351 plugins.
|
|||
PyTest plugin for generating Difido reports
|
||||
|
||||
:pypi:`pytest-dir-equal`
|
||||
*last release*: Jun 23, 2023,
|
||||
*last release*: Dec 05, 2023,
|
||||
*status*: 4 - Beta,
|
||||
*requires*: pytest>=7.1.2
|
||||
*requires*: pytest>=7.3.2
|
||||
|
||||
pytest-dir-equals is a pytest plugin providing helpers to assert directories equality allowing golden testing
|
||||
|
||||
|
@ -3806,7 +3809,7 @@ This list contains 1351 plugins.
|
|||
pytest plugin for dogu report
|
||||
|
||||
:pypi:`pytest-dogu-sdk`
|
||||
*last release*: Nov 20, 2023,
|
||||
*last release*: Dec 05, 2023,
|
||||
*status*: N/A,
|
||||
*requires*: N/A
|
||||
|
||||
|
@ -3974,9 +3977,9 @@ This list contains 1351 plugins.
|
|||
Pytest execution on EC2 instance
|
||||
|
||||
:pypi:`pytest-echo`
|
||||
*last release*: Jan 08, 2020,
|
||||
*last release*: Dec 05, 2023,
|
||||
*status*: 5 - Production/Stable,
|
||||
*requires*: N/A
|
||||
*requires*: pytest >=2.2
|
||||
|
||||
pytest plugin with mechanisms for echoing environment variables, package version and generic attributes
|
||||
|
||||
|
@ -4023,56 +4026,56 @@ This list contains 1351 plugins.
|
|||
Send execution result email
|
||||
|
||||
:pypi:`pytest-embedded`
|
||||
*last release*: Nov 27, 2023,
|
||||
*last release*: Dec 04, 2023,
|
||||
*status*: 5 - Production/Stable,
|
||||
*requires*: pytest>=7.0
|
||||
|
||||
A pytest plugin that designed for embedded testing.
|
||||
|
||||
:pypi:`pytest-embedded-arduino`
|
||||
*last release*: Nov 27, 2023,
|
||||
*last release*: Dec 04, 2023,
|
||||
*status*: 5 - Production/Stable,
|
||||
*requires*: N/A
|
||||
|
||||
Make pytest-embedded plugin work with Arduino.
|
||||
|
||||
:pypi:`pytest-embedded-idf`
|
||||
*last release*: Nov 27, 2023,
|
||||
*last release*: Dec 04, 2023,
|
||||
*status*: 5 - Production/Stable,
|
||||
*requires*: N/A
|
||||
|
||||
Make pytest-embedded plugin work with ESP-IDF.
|
||||
|
||||
:pypi:`pytest-embedded-jtag`
|
||||
*last release*: Nov 27, 2023,
|
||||
*last release*: Dec 04, 2023,
|
||||
*status*: 5 - Production/Stable,
|
||||
*requires*: N/A
|
||||
|
||||
Make pytest-embedded plugin work with JTAG.
|
||||
|
||||
:pypi:`pytest-embedded-qemu`
|
||||
*last release*: Nov 27, 2023,
|
||||
*last release*: Dec 04, 2023,
|
||||
*status*: 5 - Production/Stable,
|
||||
*requires*: N/A
|
||||
|
||||
Make pytest-embedded plugin work with QEMU.
|
||||
|
||||
:pypi:`pytest-embedded-serial`
|
||||
*last release*: Nov 27, 2023,
|
||||
*last release*: Dec 04, 2023,
|
||||
*status*: 5 - Production/Stable,
|
||||
*requires*: N/A
|
||||
|
||||
Make pytest-embedded plugin work with Serial.
|
||||
|
||||
:pypi:`pytest-embedded-serial-esp`
|
||||
*last release*: Nov 27, 2023,
|
||||
*last release*: Dec 04, 2023,
|
||||
*status*: 5 - Production/Stable,
|
||||
*requires*: N/A
|
||||
|
||||
Make pytest-embedded plugin work with Espressif target boards.
|
||||
|
||||
:pypi:`pytest-embedded-wokwi`
|
||||
*last release*: Nov 27, 2023,
|
||||
*last release*: Dec 04, 2023,
|
||||
*status*: 5 - Production/Stable,
|
||||
*requires*: N/A
|
||||
|
||||
|
@ -4870,9 +4873,9 @@ This list contains 1351 plugins.
|
|||
Uses gcov to measure test coverage of a C library
|
||||
|
||||
:pypi:`pytest-gee`
|
||||
*last release*: Nov 22, 2023,
|
||||
*last release*: Dec 04, 2023,
|
||||
*status*: 3 - Alpha,
|
||||
*requires*: pytest; extra == 'test'
|
||||
*requires*: pytest
|
||||
|
||||
The Python plugin for your GEE based packages.
|
||||
|
||||
|
@ -4905,7 +4908,7 @@ This list contains 1351 plugins.
|
|||
For finding/executing Ghost Inspector tests
|
||||
|
||||
:pypi:`pytest-girder`
|
||||
*last release*: Nov 20, 2023,
|
||||
*last release*: Dec 05, 2023,
|
||||
*status*: N/A,
|
||||
*requires*: N/A
|
||||
|
||||
|
@ -5171,7 +5174,7 @@ This list contains 1351 plugins.
|
|||
A pytest plugin for use with homeassistant custom components.
|
||||
|
||||
:pypi:`pytest-homeassistant-custom-component`
|
||||
*last release*: Dec 01, 2023,
|
||||
*last release*: Dec 09, 2023,
|
||||
*status*: 3 - Alpha,
|
||||
*requires*: pytest ==7.4.3
|
||||
|
||||
|
@ -5395,7 +5398,7 @@ This list contains 1351 plugins.
|
|||
A plugin to sent pytest results to an Ibutsu server
|
||||
|
||||
:pypi:`pytest-icdiff`
|
||||
*last release*: Sep 20, 2023,
|
||||
*last release*: Dec 05, 2023,
|
||||
*status*: 4 - Beta,
|
||||
*requires*: pytest
|
||||
|
||||
|
@ -5591,7 +5594,7 @@ This list contains 1351 plugins.
|
|||
Pytest plugin for intercepting outgoing connection requests during pytest run.
|
||||
|
||||
:pypi:`pytest-interface-tester`
|
||||
*last release*: Nov 29, 2023,
|
||||
*last release*: Dec 05, 2023,
|
||||
*status*: 4 - Beta,
|
||||
*requires*: pytest
|
||||
|
||||
|
@ -5780,7 +5783,7 @@ This list contains 1351 plugins.
|
|||
pytest plugin supporting json test report output
|
||||
|
||||
:pypi:`pytest-jupyter`
|
||||
*last release*: Mar 30, 2023,
|
||||
*last release*: Dec 05, 2023,
|
||||
*status*: 4 - Beta,
|
||||
*requires*: pytest
|
||||
|
||||
|
@ -5983,7 +5986,7 @@ This list contains 1351 plugins.
|
|||
A python-libfaketime plugin for pytest.
|
||||
|
||||
:pypi:`pytest-libiio`
|
||||
*last release*: Jul 11, 2022,
|
||||
*last release*: Dec 06, 2023,
|
||||
*status*: 4 - Beta,
|
||||
*requires*: N/A
|
||||
|
||||
|
@ -6319,7 +6322,7 @@ This list contains 1351 plugins.
|
|||
A pytest plugin to make a test results report with Markdown table format.
|
||||
|
||||
:pypi:`pytest-meilisearch`
|
||||
*last release*: Nov 06, 2023,
|
||||
*last release*: Dec 07, 2023,
|
||||
*status*: N/A,
|
||||
*requires*: pytest (>=7.4.3)
|
||||
|
||||
|
@ -6396,7 +6399,7 @@ This list contains 1351 plugins.
|
|||
Custom metrics report for pytest
|
||||
|
||||
:pypi:`pytest-mh`
|
||||
*last release*: Nov 21, 2023,
|
||||
*last release*: Dec 07, 2023,
|
||||
*status*: N/A,
|
||||
*requires*: pytest
|
||||
|
||||
|
@ -6423,6 +6426,13 @@ This list contains 1351 plugins.
|
|||
|
||||
A plugin to test mp
|
||||
|
||||
:pypi:`pytest-minio-mock`
|
||||
*last release*: Dec 06, 2023,
|
||||
*status*: N/A,
|
||||
*requires*: pytest >=5.0.0
|
||||
|
||||
A pytest plugin for mocking Minio S3 interactions
|
||||
|
||||
:pypi:`pytest-missing-fixtures`
|
||||
*last release*: Oct 14, 2020,
|
||||
*status*: 4 - Beta,
|
||||
|
@ -6976,6 +6986,13 @@ This list contains 1351 plugins.
|
|||
|
||||
Use @pytest.mark.only to run a single test
|
||||
|
||||
:pypi:`pytest-oof`
|
||||
*last release*: Dec 05, 2023,
|
||||
*status*: 4 - Beta,
|
||||
*requires*: N/A
|
||||
|
||||
A Pytest plugin providing structured, programmatic access to a test run's results
|
||||
|
||||
:pypi:`pytest-oot`
|
||||
*last release*: Sep 18, 2016,
|
||||
*status*: 4 - Beta,
|
||||
|
@ -7747,7 +7764,7 @@ This list contains 1351 plugins.
|
|||
Record PyMySQL queries and mock with the stored data.
|
||||
|
||||
:pypi:`pytest-pyodide`
|
||||
*last release*: Nov 18, 2023,
|
||||
*last release*: Dec 09, 2023,
|
||||
*status*: N/A,
|
||||
*requires*: pytest
|
||||
|
||||
|
@ -8034,7 +8051,7 @@ This list contains 1351 plugins.
|
|||
Pytest plugin, meant to facilitate unit tests writing for tools consumming Web APIs.
|
||||
|
||||
:pypi:`pytest-recording`
|
||||
*last release*: Jul 31, 2023,
|
||||
*last release*: Dec 06, 2023,
|
||||
*status*: 4 - Beta,
|
||||
*requires*: pytest>=3.5.0
|
||||
|
||||
|
@ -8244,7 +8261,7 @@ This list contains 1351 plugins.
|
|||
pytest plugin for adding tests' parameters to junit report
|
||||
|
||||
:pypi:`pytest-reportportal`
|
||||
*last release*: Oct 17, 2023,
|
||||
*last release*: Dec 06, 2023,
|
||||
*status*: N/A,
|
||||
*requires*: pytest >=3.8.0
|
||||
|
||||
|
@ -8565,13 +8582,6 @@ This list contains 1351 plugins.
|
|||
|
||||
implement a --failed option for pytest
|
||||
|
||||
:pypi:`pytest-runner`
|
||||
*last release*: Feb 25, 2022,
|
||||
*status*: 5 - Production/Stable,
|
||||
*requires*: pytest (>=6) ; extra == 'testing'
|
||||
|
||||
Invoke py.test as distutils command with dependency resolution
|
||||
|
||||
:pypi:`pytest-run-subprocess`
|
||||
*last release*: Nov 12, 2022,
|
||||
*status*: 5 - Production/Stable,
|
||||
|
@ -8664,7 +8674,7 @@ This list contains 1351 plugins.
|
|||
|
||||
|
||||
:pypi:`pytest-sbase`
|
||||
*last release*: Dec 01, 2023,
|
||||
*last release*: Dec 08, 2023,
|
||||
*status*: 5 - Production/Stable,
|
||||
*requires*: N/A
|
||||
|
||||
|
@ -8727,7 +8737,7 @@ This list contains 1351 plugins.
|
|||
pytest plugin to automatically capture screenshots upon selenium webdriver events
|
||||
|
||||
:pypi:`pytest-seleniumbase`
|
||||
*last release*: Dec 01, 2023,
|
||||
*last release*: Dec 08, 2023,
|
||||
*status*: 5 - Production/Stable,
|
||||
*requires*: N/A
|
||||
|
||||
|
@ -9027,6 +9037,13 @@ This list contains 1351 plugins.
|
|||
|
||||
An SMTP server for testing built on aiosmtpd
|
||||
|
||||
:pypi:`pytest-smtp-test-server`
|
||||
*last release*: Dec 03, 2023,
|
||||
*status*: 2 - Pre-Alpha,
|
||||
*requires*: pytest (>=7.4.3,<8.0.0)
|
||||
|
||||
pytest plugin for using \`smtp-test-server\` as a fixture
|
||||
|
||||
:pypi:`pytest-snail`
|
||||
*last release*: Nov 04, 2019,
|
||||
*status*: 3 - Alpha,
|
||||
|
@ -9573,6 +9590,13 @@ This list contains 1351 plugins.
|
|||
|
||||
tblineinfo is a py.test plugin that insert the node id in the final py.test report when --tb=line option is used
|
||||
|
||||
:pypi:`pytest-tcp`
|
||||
*last release*: Dec 04, 2023,
|
||||
*status*: 4 - Beta,
|
||||
*requires*: pytest >=7.4.3
|
||||
|
||||
A Pytest plugin for test prioritization
|
||||
|
||||
:pypi:`pytest-tcpclient`
|
||||
*last release*: Nov 16, 2022,
|
||||
*status*: N/A,
|
||||
|
@ -10001,7 +10025,7 @@ This list contains 1351 plugins.
|
|||
A small example package
|
||||
|
||||
:pypi:`pytest-tmp-files`
|
||||
*last release*: Apr 03, 2022,
|
||||
*last release*: Dec 08, 2023,
|
||||
*status*: N/A,
|
||||
*requires*: pytest
|
||||
|
||||
|
@ -10176,7 +10200,7 @@ This list contains 1351 plugins.
|
|||
Test Class Base
|
||||
|
||||
:pypi:`pytest-tui`
|
||||
*last release*: Jun 12, 2023,
|
||||
*last release*: Dec 08, 2023,
|
||||
*status*: 4 - Beta,
|
||||
*requires*: N/A
|
||||
|
||||
|
|
|
@ -79,7 +79,7 @@ pytest.xfail
|
|||
pytest.exit
|
||||
~~~~~~~~~~~
|
||||
|
||||
.. autofunction:: pytest.exit(reason, [returncode=False, msg=None])
|
||||
.. autofunction:: pytest.exit(reason, [returncode=None, msg=None])
|
||||
|
||||
pytest.main
|
||||
~~~~~~~~~~~
|
||||
|
@ -821,6 +821,7 @@ Node
|
|||
|
||||
.. autoclass:: _pytest.nodes.Node()
|
||||
:members:
|
||||
:show-inheritance:
|
||||
|
||||
Collector
|
||||
~~~~~~~~~
|
||||
|
@ -1157,7 +1158,10 @@ When set (regardless of value), pytest will use color in terminal output.
|
|||
Exceptions
|
||||
----------
|
||||
|
||||
.. autoclass:: pytest.UsageError()
|
||||
.. autoexception:: pytest.UsageError()
|
||||
:show-inheritance:
|
||||
|
||||
.. autoexception:: pytest.FixtureLookupError()
|
||||
:show-inheritance:
|
||||
|
||||
.. _`warnings ref`:
|
||||
|
|
|
@ -449,6 +449,7 @@ class PytestPluginManager(PluginManager):
|
|||
def parse_hookimpl_opts(
|
||||
self, plugin: _PluggyPlugin, name: str
|
||||
) -> Optional[HookimplOpts]:
|
||||
""":meta private:"""
|
||||
# pytest hooks are always prefixed with "pytest_",
|
||||
# so we avoid accessing possibly non-readable attributes
|
||||
# (see issue #1073).
|
||||
|
@ -472,6 +473,7 @@ class PytestPluginManager(PluginManager):
|
|||
)
|
||||
|
||||
def parse_hookspec_opts(self, module_or_class, name: str) -> Optional[HookspecOpts]:
|
||||
""":meta private:"""
|
||||
opts = super().parse_hookspec_opts(module_or_class, name)
|
||||
if opts is None:
|
||||
method = getattr(module_or_class, name)
|
||||
|
|
|
@ -135,7 +135,9 @@ def get_scope_node(
|
|||
import _pytest.python
|
||||
|
||||
if scope is Scope.Function:
|
||||
return node.getparent(nodes.Item)
|
||||
# Type ignored because this is actually safe, see:
|
||||
# https://github.com/python/mypy/issues/4717
|
||||
return node.getparent(nodes.Item) # type: ignore[type-abstract]
|
||||
elif scope is Scope.Class:
|
||||
return node.getparent(_pytest.python.Class)
|
||||
elif scope is Scope.Module:
|
||||
|
|
|
@ -55,7 +55,7 @@ hookspec = HookspecMarker("pytest")
|
|||
@hookspec(historic=True)
|
||||
def pytest_addhooks(pluginmanager: "PytestPluginManager") -> None:
|
||||
"""Called at plugin registration time to allow adding new hooks via a call to
|
||||
``pluginmanager.add_hookspecs(module_or_class, prefix)``.
|
||||
:func:`pluginmanager.add_hookspecs(module_or_class, prefix) <pytest.PytestPluginManager.add_hookspecs>`.
|
||||
|
||||
:param pytest.PytestPluginManager pluginmanager: The pytest plugin manager.
|
||||
|
||||
|
@ -858,8 +858,8 @@ def pytest_warning_recorded(
|
|||
"""Process a warning captured by the internal pytest warnings plugin.
|
||||
|
||||
:param warning_message:
|
||||
The captured warning. This is the same object produced by :py:func:`warnings.catch_warnings`, and contains
|
||||
the same attributes as the parameters of :py:func:`warnings.showwarning`.
|
||||
The captured warning. This is the same object produced by :class:`warnings.catch_warnings`,
|
||||
and contains the same attributes as the parameters of :py:func:`warnings.showwarning`.
|
||||
|
||||
:param when:
|
||||
Indicates when the warning was captured. Possible values:
|
||||
|
@ -940,10 +940,10 @@ def pytest_exception_interact(
|
|||
interactively handled.
|
||||
|
||||
May be called during collection (see :hook:`pytest_make_collect_report`),
|
||||
in which case ``report`` is a :class:`CollectReport`.
|
||||
in which case ``report`` is a :class:`~pytest.CollectReport`.
|
||||
|
||||
May be called during runtest of an item (see :hook:`pytest_runtest_protocol`),
|
||||
in which case ``report`` is a :class:`TestReport`.
|
||||
in which case ``report`` is a :class:`~pytest.TestReport`.
|
||||
|
||||
This hook is not called if the exception that was raised is an internal
|
||||
exception like ``skip.Exception``.
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
import abc
|
||||
import os
|
||||
import pathlib
|
||||
import warnings
|
||||
from functools import cached_property
|
||||
from inspect import signature
|
||||
|
@ -121,7 +123,7 @@ def _imply_path(
|
|||
_NodeType = TypeVar("_NodeType", bound="Node")
|
||||
|
||||
|
||||
class NodeMeta(type):
|
||||
class NodeMeta(abc.ABCMeta):
|
||||
"""Metaclass used by :class:`Node` to enforce that direct construction raises
|
||||
:class:`Failed`.
|
||||
|
||||
|
@ -165,7 +167,7 @@ class NodeMeta(type):
|
|||
return super().__call__(*k, **known_kw)
|
||||
|
||||
|
||||
class Node(metaclass=NodeMeta):
|
||||
class Node(abc.ABC, metaclass=NodeMeta):
|
||||
r"""Base class of :class:`Collector` and :class:`Item`, the components of
|
||||
the test collection tree.
|
||||
|
||||
|
@ -176,8 +178,8 @@ class Node(metaclass=NodeMeta):
|
|||
# Implemented in the legacypath plugin.
|
||||
#: A ``LEGACY_PATH`` copy of the :attr:`path` attribute. Intended for usage
|
||||
#: for methods not migrated to ``pathlib.Path`` yet, such as
|
||||
#: :meth:`Item.reportinfo`. Will be deprecated in a future release, prefer
|
||||
#: using :attr:`path` instead.
|
||||
#: :meth:`Item.reportinfo <pytest.Item.reportinfo>`. Will be deprecated in
|
||||
#: a future release, prefer using :attr:`path` instead.
|
||||
fspath: LEGACY_PATH
|
||||
|
||||
# Use __slots__ to make attribute access faster.
|
||||
|
@ -228,7 +230,7 @@ class Node(metaclass=NodeMeta):
|
|||
if path is None and fspath is None:
|
||||
path = getattr(parent, "path", None)
|
||||
#: Filesystem path where this node was collected from (can be None).
|
||||
self.path: Path = _imply_path(type(self), path, fspath=fspath)
|
||||
self.path: pathlib.Path = _imply_path(type(self), path, fspath=fspath)
|
||||
|
||||
# The explicit annotation is to avoid publicly exposing NodeKeywords.
|
||||
#: Keywords/markers collected from all scopes.
|
||||
|
@ -534,7 +536,7 @@ def get_fslocation_from_item(node: "Node") -> Tuple[Union[str, Path], Optional[i
|
|||
return getattr(node, "fspath", "unknown location"), -1
|
||||
|
||||
|
||||
class Collector(Node):
|
||||
class Collector(Node, abc.ABC):
|
||||
"""Base class of all collectors.
|
||||
|
||||
Collector create children through `collect()` and thus iteratively build
|
||||
|
@ -544,6 +546,7 @@ class Collector(Node):
|
|||
class CollectError(Exception):
|
||||
"""An error during collection, contains a custom message."""
|
||||
|
||||
@abc.abstractmethod
|
||||
def collect(self) -> Iterable[Union["Item", "Collector"]]:
|
||||
"""Collect children (items and collectors) for this collector."""
|
||||
raise NotImplementedError("abstract")
|
||||
|
@ -588,7 +591,7 @@ def _check_initialpaths_for_relpath(session: "Session", path: Path) -> Optional[
|
|||
return None
|
||||
|
||||
|
||||
class FSCollector(Collector):
|
||||
class FSCollector(Collector, abc.ABC):
|
||||
"""Base class for filesystem collectors."""
|
||||
|
||||
def __init__(
|
||||
|
@ -666,14 +669,14 @@ class FSCollector(Collector):
|
|||
return self.session.isinitpath(path)
|
||||
|
||||
|
||||
class File(FSCollector):
|
||||
class File(FSCollector, abc.ABC):
|
||||
"""Base class for collecting tests from a file.
|
||||
|
||||
:ref:`non-python tests`.
|
||||
"""
|
||||
|
||||
|
||||
class Item(Node):
|
||||
class Item(Node, abc.ABC):
|
||||
"""Base class of all test invocation items.
|
||||
|
||||
Note that for a single function there might be multiple test invocation items.
|
||||
|
@ -739,6 +742,7 @@ class Item(Node):
|
|||
PytestWarning,
|
||||
)
|
||||
|
||||
@abc.abstractmethod
|
||||
def runtest(self) -> None:
|
||||
"""Run the test case for this item.
|
||||
|
||||
|
|
|
@ -112,7 +112,7 @@ def exit(
|
|||
only because `msg` is deprecated.
|
||||
|
||||
:param returncode:
|
||||
Return code to be used when exiting pytest.
|
||||
Return code to be used when exiting pytest. None means the same as ``0`` (no error), same as :func:`sys.exit`.
|
||||
|
||||
:param msg:
|
||||
Same as ``reason``, but deprecated. Will be removed in a future version, use ``reason`` instead.
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
"""Python test discovery, setup and run of test functions."""
|
||||
import abc
|
||||
import dataclasses
|
||||
import enum
|
||||
import fnmatch
|
||||
|
@ -381,7 +382,7 @@ del _EmptyClass
|
|||
# fmt: on
|
||||
|
||||
|
||||
class PyCollector(PyobjMixin, nodes.Collector):
|
||||
class PyCollector(PyobjMixin, nodes.Collector, abc.ABC):
|
||||
def funcnamefilter(self, name: str) -> bool:
|
||||
return self._matches_prefix_or_glob_option("python_functions", name)
|
||||
|
||||
|
|
|
@ -30,15 +30,6 @@ if TYPE_CHECKING:
|
|||
from numpy import ndarray
|
||||
|
||||
|
||||
def _non_numeric_type_error(value, at: Optional[str]) -> TypeError:
|
||||
at_str = f" at {at}" if at else ""
|
||||
return TypeError(
|
||||
"cannot make approximate comparisons to non-numeric values: {!r} {}".format(
|
||||
value, at_str
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
def _compare_approx(
|
||||
full_object: object,
|
||||
message_data: Sequence[Tuple[str, str, str]],
|
||||
|
@ -806,23 +797,23 @@ def raises( # noqa: F811
|
|||
) -> Union["RaisesContext[E]", _pytest._code.ExceptionInfo[E]]:
|
||||
r"""Assert that a code block/function call raises an exception type, or one of its subclasses.
|
||||
|
||||
:param typing.Type[E] | typing.Tuple[typing.Type[E], ...] expected_exception:
|
||||
:param expected_exception:
|
||||
The expected exception type, or a tuple if one of multiple possible
|
||||
exception types are expected. Note that subclasses of the passed exceptions
|
||||
will also match.
|
||||
|
||||
:kwparam str | typing.Pattern[str] | None match:
|
||||
:kwparam str | re.Pattern[str] | None match:
|
||||
If specified, a string containing a regular expression,
|
||||
or a regular expression object, that is tested against the string
|
||||
representation of the exception and its `PEP-678 <https://peps.python.org/pep-0678/>` `__notes__`
|
||||
representation of the exception and its :pep:`678` `__notes__`
|
||||
using :func:`re.search`.
|
||||
|
||||
To match a literal string that may contain :ref:`special characters
|
||||
<re-syntax>`, the pattern can first be escaped with :func:`re.escape`.
|
||||
|
||||
(This is only used when :py:func:`pytest.raises` is used as a context manager,
|
||||
(This is only used when ``pytest.raises`` is used as a context manager,
|
||||
and passed through to the function otherwise.
|
||||
When using :py:func:`pytest.raises` as a function, you can use:
|
||||
When using ``pytest.raises`` as a function, you can use:
|
||||
``pytest.raises(Exc, func, match="passed on").match("my pattern")``.)
|
||||
|
||||
Use ``pytest.raises`` as a context manager, which will capture the exception of the given
|
||||
|
|
|
@ -257,11 +257,17 @@ def test_deprecation_of_cmdline_preparse(pytester: Pytester) -> None:
|
|||
def test_node_ctor_fspath_argument_is_deprecated(pytester: Pytester) -> None:
|
||||
mod = pytester.getmodulecol("")
|
||||
|
||||
class MyFile(pytest.File):
|
||||
def collect(self):
|
||||
raise NotImplementedError()
|
||||
|
||||
with pytest.warns(
|
||||
pytest.PytestDeprecationWarning,
|
||||
match=re.escape("The (fspath: py.path.local) argument to File is deprecated."),
|
||||
match=re.escape(
|
||||
"The (fspath: py.path.local) argument to MyFile is deprecated."
|
||||
),
|
||||
):
|
||||
pytest.File.from_parent(
|
||||
MyFile.from_parent(
|
||||
parent=mod.parent,
|
||||
fspath=legacy_path("bla"),
|
||||
)
|
||||
|
|
|
@ -11,4 +11,5 @@ def pytest_collect_file(file_path, parent):
|
|||
|
||||
|
||||
class MyItem(pytest.Item):
|
||||
pass
|
||||
def runtest(self):
|
||||
raise NotImplementedError()
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
anyio[curio,trio]==4.1.0
|
||||
django==4.2.7
|
||||
pytest-asyncio==0.23.1
|
||||
django==5.0
|
||||
pytest-asyncio==0.23.2
|
||||
pytest-bdd==7.0.1
|
||||
pytest-cov==4.1.0
|
||||
pytest-django==4.7.0
|
||||
|
|
|
@ -99,7 +99,8 @@ class TestCollector:
|
|||
conftest="""
|
||||
import pytest
|
||||
class CustomFile(pytest.File):
|
||||
pass
|
||||
def collect(self):
|
||||
return []
|
||||
def pytest_collect_file(file_path, parent):
|
||||
if file_path.suffix == ".xxx":
|
||||
return CustomFile.from_parent(path=file_path, parent=parent)
|
||||
|
@ -1509,6 +1510,9 @@ def test_fscollector_from_parent(pytester: Pytester, request: FixtureRequest) ->
|
|||
super().__init__(*k, **kw)
|
||||
self.x = x
|
||||
|
||||
def collect(self):
|
||||
raise NotImplementedError()
|
||||
|
||||
collector = MyCollector.from_parent(
|
||||
parent=request.session, path=pytester.path / "foo", x=10
|
||||
)
|
||||
|
|
|
@ -73,6 +73,12 @@ def test_subclassing_both_item_and_collector_deprecated(
|
|||
"""Legacy ctor with legacy call # don't wana see"""
|
||||
super().__init__(fspath, parent)
|
||||
|
||||
def collect(self):
|
||||
raise NotImplementedError()
|
||||
|
||||
def runtest(self):
|
||||
raise NotImplementedError()
|
||||
|
||||
with pytest.warns(PytestWarning) as rec:
|
||||
SoWrong.from_parent(
|
||||
request.session, fspath=legacy_path(tmp_path / "broken.txt")
|
||||
|
|
Loading…
Reference in New Issue