chore(deps): update dependency pytest to v8.2.0
This MR contains the following updates:
Package | Type | Update | Change |
---|---|---|---|
pytest (changelog) | dev-dependencies | minor |
8.1.2 -> 8.2.0
|
Release Notes
pytest-dev/pytest (pytest)
v8.2.0
pytest 8.2.0 (2024-04-27)
Deprecations
-
#12069: A deprecation warning is now raised when implementations of one of the following hooks request a deprecated
py.path.local
parameter instead of thepathlib.Path
parameter which replaced it:-
pytest_ignore_collect
{.interpreted-text role="hook"} - thepath
parameter - usecollection_path
instead. -
pytest_collect_file
{.interpreted-text role="hook"} - thepath
parameter - usefile_path
instead. -
pytest_pycollect_makemodule
{.interpreted-text role="hook"} - thepath
parameter - usemodule_path
instead. -
pytest_report_header
{.interpreted-text role="hook"} - thestartdir
parameter - usestart_path
instead. -
pytest_report_collectionfinish
{.interpreted-text role="hook"} - thestartdir
parameter - usestart_path
instead.
The replacement parameters are available since pytest 7.0.0. The old parameters will be removed in pytest 9.0.0.
See
legacy-path-hooks-deprecated
{.interpreted-text role="ref"} for more details. -
Features
-
#11871: Added support for reading command line arguments from a file using the prefix character
@
, like e.g.:pytest @​tests.txt
. The file must have one argument per line.See
Read arguments from file <args-from-file>
{.interpreted-text role="ref"} for details.
Improvements
-
#11523:
pytest.importorskip
{.interpreted-text role="func"} will now issue a warning if the module could be found, but raisedImportError
{.interpreted-text role="class"} instead ofModuleNotFoundError
{.interpreted-text role="class"}.The warning can be suppressed by passing
exc_type=ImportError
topytest.importorskip
{.interpreted-text role="func"}.See
import-or-skip-import-error
{.interpreted-text role="ref"} for details. -
#11728: For
unittest
-based tests, exceptions during class cleanup (as raised by functions registered withTestCase.addClassCleanup <unittest.TestCase.addClassCleanup>
{.interpreted-text role="meth"}) are now reported instead of silently failing. -
#11777: Text is no longer truncated in the
short test summary info
section when-vv
is given. -
#12112: Improved namespace packages detection when
consider_namespace_packages
{.interpreted-text role="confval"} is enabled, covering more situations (like editable installs). -
#9502: Added
PYTEST_VERSION
{.interpreted-text role="envvar"} environment variable which is defined at the start of the pytest session and undefined afterwards. It contains the value ofpytest.__version__
, and among other things can be used to easily check if code is running from within a pytest run.
Bug Fixes
-
#12065: Fixed a regression in pytest 8.0.0 where test classes containing
setup_method
and tests using@staticmethod
or@classmethod
would crash withAttributeError: 'NoneType' object has no attribute 'setup_method'
.Now the
request.instance <pytest.FixtureRequest.instance>
{.interpreted-text role="attr"} attribute of tests using@staticmethod
and@classmethod
is no longerNone
, but a fresh instance of the class, like in non-static methods. Previously it wasNone
, and all fixtures of such tests would share a singleself
. -
#12135: Fixed issue where fixtures adding their finalizer multiple times to fixtures they request would cause unreliable and non-intuitive teardown ordering in some instances.
-
#12194: Fixed a bug with
--importmode=importlib
and--doctest-modules
where child modules did not appear as attributes in parent modules. -
#1489: Fixed some instances where teardown of higher-scoped fixtures was not happening in the reverse order they were initialized in.
Trivial/Internal Changes
Configuration
-
If you want to rebase/retry this MR, check this box
This MR has been generated by Renovate Bot.