@@ -48,6 +48,9 @@ usual sequence of a test:
4848`pytest-xdist <https://pypi.org/project/pytest-xdist/ >`_
4949 executes tests in parallel, either with several CPUs on one machine or
5050 several remote machines.
51+ `pytest-freethreaded <https://pypi.org/project/pytest-freethreaded/ >`_
52+ for checking whether tests and libraries are thread-safe with Python 3.13’s
53+ experimental freethreaded mode.
5154`pytest-rerunfailures <https://pypi.org/project/pytest-rerunfailures/ >`_
5255 re-executes failed tests and is particularly helpful in the case of faulty
5356 tests.
@@ -70,6 +73,8 @@ result. However, there are plugins that change the output even further:
7073 adds a ``--instafail `` option that reports tracebacks and output from failed
7174 tests immediately after the failure. Normally, pytest reports tracebacks and
7275 output from failed tests only after all tests have completed.
76+ `pytest-edit <https://pypi.org/project/pytest-edit/ >`_
77+ opens an editor after a failed test.
7378`pytest-sugar <https://pypi.org/project/pytest-sugar/ >`_
7479 shows green checkmarks instead of dots for passed tests and has a nice
7580 progress bar. Like pytest-instafail, it also shows failures immediately.
@@ -86,15 +91,19 @@ result. However, there are plugins that change the output even further:
8691pytest is used extensively for testing web projects and there is a long list of
8792plugins that further simplify testing:
8893
89- `pytest-selenium <https://pypi.org/project/pytest-selenium/ >`_
90- provides fixtures that enable simple configuration of browser-based tests
91- with `Selenium <https://www.selenium.dev >`_.
92- `pytest-splinter <https://pypi.org/project/pytest-splinter/ >`_
93- provide the high-level API of the Selenium-based `Splinter
94- <https://pypi.org/project/splinter/> `_ to be used more easily from pytest.
94+
9595`pytest-httpx <https://pypi.org/project/pytest-httpx/ >`_
9696 facilitates the testing of `HTTPX <https://www.python-httpx.org >`_ and
9797 `FastAPI <https://fastapi.tiangolo.com >`_ applications.
98+ `Playwright for Python <https://pypi.org/project/playwright/ >`_
99+ was specially developed for end-to-end testing. Playwright supports all
100+ modern rendering engines such as Chromium, WebKit and Firefox with a single
101+ :abbr: `API ( Application Programming Interface ) `.
102+ `pyleniumio <https://pypi.org/project/pyleniumio/#test-example >`_
103+ is a thin Python wrapper around Selenium with simple and clear syntax.
104+ `pytest-selenium <https://pypi.org/project/pytest-selenium/ >`_
105+ provides fixtures that enable simple configuration of browser-based tests
106+ with `Selenium <https://www.selenium.dev >`_.
98107
99108.. _fake_plugins :
100109
@@ -111,9 +120,6 @@ therefore not surprising that there are several plugins that fulfil this need:
111120`pytest-factoryboy <https://pypi.org/project/pytest-factoryboy/ >`_
112121 contains fixtures for `factory-boy
113122 <https://pypi.org/project/factory-boy/> `_, a database model data generator.
114- `pytest-mimesis <https://pypi.org/project/pytest-mimesis/ >`_
115- generates fake data similar to Faker, but `Mimesis
116- <https://pypi.org/project/mimesis/> `_ is a lot faster.
117123
118124… various things
119125~~~~~~~~~~~~~~~~
@@ -128,9 +134,6 @@ therefore not surprising that there are several plugins that fulfil this need:
128134 tests asynchronous functions.
129135`pytest-mock <https://pypi.org/project/pytest-mock/ >`_
130136 is a thin wrapper around the :doc: `unittest.mock <../mock >` patching API.
131- `pytest-freezegun <https://pypi.org/project/pytest-freezegun/ >`_
132- freezes the time so that any code that reads the time, date or clock time
133- will get the same value during a test. set a specific time.
134137:doc: `pytest-grpc <Python4DataScience:data-processing/apis/grpc/test >`
135138 is a Pytest plugin for
136139 :doc: `Python4DataScience:data-processing/apis/grpc/index `.
0 commit comments