Pytest 3.4.0 Deprecations and Removals - All pytest classes now subclass object for better Python 2/3 compatibility. This should not affect user code except in very rare edge cases. Features - Introduce empty_parameter_set_mark ini option to select which mark to apply when @pytest.mark.parametrize is given an empty set of parameters. Valid options are skip (default) and xfail. Note that it is planned to change the default to xfail in future releases as this is considered less error prone. - **Incompatible change**: after community feedback the logging <https://docs.pytest.org/en/latest/logging.html>_ functionality has undergone some changes. Please consult the logging documentation <https://docs.pytest.org/en/latest/logging.html#incompatible-changes-in-pytest-3-4>_ for details. - Console output falls back to "classic" mode when capturing is disabled (-s), otherwise the output gets garbled to the point of being useless. - New pytest_runtest_logfinish <https://docs.pytest.org/en/latest/writing_plugins.html#_pytest.hookspec.pytest_runtest_logfinish>_ hook which is called when a test item has finished executing, analogous to pytest_runtest_logstart <https://docs.pytest.org/en/latest/writing_plugins.html#_pytest.hookspec.pytest_runtest_start>_. - Improve performance when collecting tests using many fixtures. - New caplog.get_records(when) method which provides access to the captured records for the "setup", "call" and "teardown" testing stages. - New fixture record_xml_attribute that allows modifying and inserting attributes on the <testcase> xml node in JUnit reports. - The default cache directory has been renamed from .cache to .pytest_cache after community feedback that the name .cache did not make it clear that it was used by pytest. - Colorize the levelname column in the live-log output. Bug Fixes - Fix hanging pexpect test on MacOS by using flush() instead of wait(). - Fix restoring Python state after in-process pytest runs with the pytester plugin; this may break tests using multiple inprocess pytest runs if later ones depend on earlier ones leaking global interpreter changes. - Fix skipping plugin reporting hook when test aborted before plugin setup hook. - Fix progress percentage reported when tests fail during teardown. - **Incompatible change**: -o/--override option no longer eats all the remaining options, which can lead to surprising behavior: for example, pytest -o foo=1 /path/to/test.py would fail because /path/to/test.py would be considered as part of the -o command-line argument. One consequence of this is that now multiple configuration overrides need multiple -o flags: pytest -o foo=1 -o bar=2. |
||
---|---|---|
.. | ||
ALTERNATIVES | ||
DESCR | ||
distinfo | ||
Makefile | ||
PLIST |