Move definition of ini options to reference
This commit is contained in:
		
							parent
							
								
									c0fe4d483d
								
							
						
					
					
						commit
						8243900960
					
				| 
						 | 
					@ -152,222 +152,4 @@ above will show verbose output because ``-v`` overwrites ``-q``.
 | 
				
			||||||
Builtin configuration file options
 | 
					Builtin configuration file options
 | 
				
			||||||
----------------------------------------------
 | 
					----------------------------------------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Here is a list of builtin configuration options that may be written in a ``pytest.ini``, ``tox.ini`` or ``setup.cfg``
 | 
					For the full list of options consult the :ref:`reference documentation <ini options ref>`.
 | 
				
			||||||
file, usually located at the root of your repository. All options must be under a ``[pytest]`` section
 | 
					 | 
				
			||||||
(``[tool:pytest]`` for ``setup.cfg`` files).
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Configuration file options may be overwritten in the command-line by using ``-o/--override``, which can also be
 | 
					 | 
				
			||||||
passed multiple times. The expected format is ``name=value``. For example::
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
   pytest -o console_output_style=classic -o cache_dir=/tmp/mycache
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
.. confval:: minversion
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
   Specifies a minimal pytest version required for running tests.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
   .. code-block:: ini
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        # content of pytest.ini
 | 
					 | 
				
			||||||
        [pytest]
 | 
					 | 
				
			||||||
        minversion = 3.0  # will fail if we run with pytest-2.8
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
.. confval:: addopts
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
   Add the specified ``OPTS`` to the set of command line arguments as if they
 | 
					 | 
				
			||||||
   had been specified by the user. Example: if you have this ini file content:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
   .. code-block:: ini
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        # content of pytest.ini
 | 
					 | 
				
			||||||
        [pytest]
 | 
					 | 
				
			||||||
        addopts = --maxfail=2 -rf  # exit after 2 failures, report fail info
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
   issuing ``pytest test_hello.py`` actually means::
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        pytest --maxfail=2 -rf test_hello.py
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
   Default is to add no options.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
.. confval:: norecursedirs
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
   Set the directory basename patterns to avoid when recursing
 | 
					 | 
				
			||||||
   for test discovery.  The individual (fnmatch-style) patterns are
 | 
					 | 
				
			||||||
   applied to the basename of a directory to decide if to recurse into it.
 | 
					 | 
				
			||||||
   Pattern matching characters::
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        *       matches everything
 | 
					 | 
				
			||||||
        ?       matches any single character
 | 
					 | 
				
			||||||
        [seq]   matches any character in seq
 | 
					 | 
				
			||||||
        [!seq]  matches any char not in seq
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
   Default patterns are ``'.*', 'build', 'dist', 'CVS', '_darcs', '{arch}', '*.egg', 'venv'``.
 | 
					 | 
				
			||||||
   Setting a ``norecursedirs`` replaces the default.  Here is an example of
 | 
					 | 
				
			||||||
   how to avoid certain directories:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
   .. code-block:: ini
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        # content of pytest.ini
 | 
					 | 
				
			||||||
        [pytest]
 | 
					 | 
				
			||||||
        norecursedirs = .svn _build tmp*
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
   This would tell ``pytest`` to not look into typical subversion or
 | 
					 | 
				
			||||||
   sphinx-build directories or into any ``tmp`` prefixed directory.  
 | 
					 | 
				
			||||||
   
 | 
					 | 
				
			||||||
   Additionally, ``pytest`` will attempt to intelligently identify and ignore a
 | 
					 | 
				
			||||||
   virtualenv by the presence of an activation script.  Any directory deemed to
 | 
					 | 
				
			||||||
   be the root of a virtual environment will not be considered during test
 | 
					 | 
				
			||||||
   collection unless ``‑‑collect‑in‑virtualenv`` is given.  Note also that
 | 
					 | 
				
			||||||
   ``norecursedirs`` takes precedence over ``‑‑collect‑in‑virtualenv``; e.g. if
 | 
					 | 
				
			||||||
   you intend to run tests in a virtualenv with a base directory that matches
 | 
					 | 
				
			||||||
   ``'.*'`` you *must* override ``norecursedirs`` in addition to using the
 | 
					 | 
				
			||||||
   ``‑‑collect‑in‑virtualenv`` flag.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
.. confval:: testpaths
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
   .. versionadded:: 2.8
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
   Sets list of directories that should be searched for tests when
 | 
					 | 
				
			||||||
   no specific directories, files or test ids are given in the command line when
 | 
					 | 
				
			||||||
   executing pytest from the :ref:`rootdir <rootdir>` directory.
 | 
					 | 
				
			||||||
   Useful when all project tests are in a known location to speed up
 | 
					 | 
				
			||||||
   test collection and to avoid picking up undesired tests by accident.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
   .. code-block:: ini
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        # content of pytest.ini
 | 
					 | 
				
			||||||
        [pytest]
 | 
					 | 
				
			||||||
        testpaths = testing doc
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
   This tells pytest to only look for tests in ``testing`` and ``doc``
 | 
					 | 
				
			||||||
   directories when executing from the root directory.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
.. confval:: python_files
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
   One or more Glob-style file patterns determining which python files
 | 
					 | 
				
			||||||
   are considered as test modules. By default, pytest will consider
 | 
					 | 
				
			||||||
   any file matching with ``test_*.py`` and ``*_test.py`` globs as a test
 | 
					 | 
				
			||||||
   module.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
.. confval:: python_classes
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
   One or more name prefixes or glob-style patterns determining which classes
 | 
					 | 
				
			||||||
   are considered for test collection. By default, pytest will consider any
 | 
					 | 
				
			||||||
   class prefixed with ``Test`` as a test collection.  Here is an example of how
 | 
					 | 
				
			||||||
   to collect tests from classes that end in ``Suite``:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
   .. code-block:: ini
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        # content of pytest.ini
 | 
					 | 
				
			||||||
        [pytest]
 | 
					 | 
				
			||||||
        python_classes = *Suite
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
   Note that ``unittest.TestCase`` derived classes are always collected
 | 
					 | 
				
			||||||
   regardless of this option, as ``unittest``'s own collection framework is used
 | 
					 | 
				
			||||||
   to collect those tests.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
.. confval:: python_functions
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
   One or more name prefixes or glob-patterns determining which test functions
 | 
					 | 
				
			||||||
   and methods are considered tests. By default, pytest will consider any
 | 
					 | 
				
			||||||
   function prefixed with ``test`` as a test.  Here is an example of how
 | 
					 | 
				
			||||||
   to collect test functions and methods that end in ``_test``:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
   .. code-block:: ini
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        # content of pytest.ini
 | 
					 | 
				
			||||||
        [pytest]
 | 
					 | 
				
			||||||
        python_functions = *_test
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
   Note that this has no effect on methods that live on a ``unittest
 | 
					 | 
				
			||||||
   .TestCase`` derived class, as ``unittest``'s own collection framework is used
 | 
					 | 
				
			||||||
   to collect those tests.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
   See :ref:`change naming conventions` for more detailed examples.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
.. confval:: doctest_optionflags
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
   One or more doctest flag names from the standard ``doctest`` module.
 | 
					 | 
				
			||||||
   :doc:`See how pytest handles doctests <doctest>`.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
.. confval:: confcutdir
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
   Sets a directory where search upwards for ``conftest.py`` files stops.
 | 
					 | 
				
			||||||
   By default, pytest will stop searching for ``conftest.py`` files upwards
 | 
					 | 
				
			||||||
   from ``pytest.ini``/``tox.ini``/``setup.cfg`` of the project if any,
 | 
					 | 
				
			||||||
   or up to the file-system root.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
.. confval:: filterwarnings
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
   .. versionadded:: 3.1
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
   Sets a list of filters and actions that should be taken for matched
 | 
					 | 
				
			||||||
   warnings. By default all warnings emitted during the test session
 | 
					 | 
				
			||||||
   will be displayed in a summary at the end of the test session.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
   .. code-block:: ini
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        # content of pytest.ini
 | 
					 | 
				
			||||||
        [pytest]
 | 
					 | 
				
			||||||
        filterwarnings =
 | 
					 | 
				
			||||||
            error
 | 
					 | 
				
			||||||
            ignore::DeprecationWarning
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
   This tells pytest to ignore deprecation warnings and turn all other warnings
 | 
					 | 
				
			||||||
   into errors. For more information please refer to :ref:`warnings`.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
.. confval:: cache_dir
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
   .. versionadded:: 3.2
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
   Sets a directory where stores content of cache plugin. Default directory is
 | 
					 | 
				
			||||||
   ``.cache`` which is created in :ref:`rootdir <rootdir>`. Directory may be
 | 
					 | 
				
			||||||
   relative or absolute path. If setting relative path, then directory is created
 | 
					 | 
				
			||||||
   relative to :ref:`rootdir <rootdir>`. Additionally path may contain environment
 | 
					 | 
				
			||||||
   variables, that will be expanded. For more information about cache plugin
 | 
					 | 
				
			||||||
   please refer to :ref:`cache_provider`.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
.. confval:: console_output_style
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
   .. versionadded:: 3.3
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
   Sets the console output style while running tests:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
   * ``classic``: classic pytest output.
 | 
					 | 
				
			||||||
   * ``progress``: like classic pytest output, but with a progress indicator.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
   The default is ``progress``, but you can fallback to ``classic`` if you prefer or
 | 
					 | 
				
			||||||
   the new mode is causing unexpected problems:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
   .. code-block:: ini
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        # content of pytest.ini
 | 
					 | 
				
			||||||
        [pytest]
 | 
					 | 
				
			||||||
        console_output_style = classic
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
.. confval:: empty_parameter_set_mark
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    .. versionadded:: 3.4
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    Allows to pick the action for empty parametersets in parameterization
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    * ``skip`` skips tests with a empty parameterset (default)
 | 
					 | 
				
			||||||
    * ``xfail`` marks tests with a empty parameterset as xfail(run=False)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    .. code-block:: ini
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      # content of pytest.ini
 | 
					 | 
				
			||||||
      [pytest]
 | 
					 | 
				
			||||||
      empty_parameter_set_mark = xfail
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    .. note::
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      The default value of this option is planned to change to ``xfail`` in future releases
 | 
					 | 
				
			||||||
      as this is considered less error prone, see `#3155`_ for more details.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
.. _`#3155`: https://github.com/pytest-dev/pytest/issues/3155
 | 
					 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -814,3 +814,227 @@ This is not meant to be set by users, but is set by pytest internally with the n
 | 
				
			||||||
processes can inspect it, see :ref:`pytest current test env` for more information.
 | 
					processes can inspect it, see :ref:`pytest current test env` for more information.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.. _`ini options ref`:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Configuration Options
 | 
				
			||||||
 | 
					---------------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Here is a list of builtin configuration options that may be written in a ``pytest.ini``, ``tox.ini`` or ``setup.cfg``
 | 
				
			||||||
 | 
					file, usually located at the root of your repository. All options must be under a ``[pytest]`` section
 | 
				
			||||||
 | 
					(``[tool:pytest]`` for ``setup.cfg`` files).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Configuration file options may be overwritten in the command-line by using ``-o/--override``, which can also be
 | 
				
			||||||
 | 
					passed multiple times. The expected format is ``name=value``. For example::
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   pytest -o console_output_style=classic -o cache_dir=/tmp/mycache
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.. confval:: minversion
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   Specifies a minimal pytest version required for running tests.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   .. code-block:: ini
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # content of pytest.ini
 | 
				
			||||||
 | 
					        [pytest]
 | 
				
			||||||
 | 
					        minversion = 3.0  # will fail if we run with pytest-2.8
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.. confval:: addopts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   Add the specified ``OPTS`` to the set of command line arguments as if they
 | 
				
			||||||
 | 
					   had been specified by the user. Example: if you have this ini file content:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   .. code-block:: ini
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # content of pytest.ini
 | 
				
			||||||
 | 
					        [pytest]
 | 
				
			||||||
 | 
					        addopts = --maxfail=2 -rf  # exit after 2 failures, report fail info
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   issuing ``pytest test_hello.py`` actually means::
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        pytest --maxfail=2 -rf test_hello.py
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   Default is to add no options.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.. confval:: norecursedirs
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   Set the directory basename patterns to avoid when recursing
 | 
				
			||||||
 | 
					   for test discovery.  The individual (fnmatch-style) patterns are
 | 
				
			||||||
 | 
					   applied to the basename of a directory to decide if to recurse into it.
 | 
				
			||||||
 | 
					   Pattern matching characters::
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        *       matches everything
 | 
				
			||||||
 | 
					        ?       matches any single character
 | 
				
			||||||
 | 
					        [seq]   matches any character in seq
 | 
				
			||||||
 | 
					        [!seq]  matches any char not in seq
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   Default patterns are ``'.*', 'build', 'dist', 'CVS', '_darcs', '{arch}', '*.egg', 'venv'``.
 | 
				
			||||||
 | 
					   Setting a ``norecursedirs`` replaces the default.  Here is an example of
 | 
				
			||||||
 | 
					   how to avoid certain directories:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   .. code-block:: ini
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # content of pytest.ini
 | 
				
			||||||
 | 
					        [pytest]
 | 
				
			||||||
 | 
					        norecursedirs = .svn _build tmp*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   This would tell ``pytest`` to not look into typical subversion or
 | 
				
			||||||
 | 
					   sphinx-build directories or into any ``tmp`` prefixed directory.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   Additionally, ``pytest`` will attempt to intelligently identify and ignore a
 | 
				
			||||||
 | 
					   virtualenv by the presence of an activation script.  Any directory deemed to
 | 
				
			||||||
 | 
					   be the root of a virtual environment will not be considered during test
 | 
				
			||||||
 | 
					   collection unless ``‑‑collect‑in‑virtualenv`` is given.  Note also that
 | 
				
			||||||
 | 
					   ``norecursedirs`` takes precedence over ``‑‑collect‑in‑virtualenv``; e.g. if
 | 
				
			||||||
 | 
					   you intend to run tests in a virtualenv with a base directory that matches
 | 
				
			||||||
 | 
					   ``'.*'`` you *must* override ``norecursedirs`` in addition to using the
 | 
				
			||||||
 | 
					   ``‑‑collect‑in‑virtualenv`` flag.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.. confval:: testpaths
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   .. versionadded:: 2.8
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   Sets list of directories that should be searched for tests when
 | 
				
			||||||
 | 
					   no specific directories, files or test ids are given in the command line when
 | 
				
			||||||
 | 
					   executing pytest from the :ref:`rootdir <rootdir>` directory.
 | 
				
			||||||
 | 
					   Useful when all project tests are in a known location to speed up
 | 
				
			||||||
 | 
					   test collection and to avoid picking up undesired tests by accident.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   .. code-block:: ini
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # content of pytest.ini
 | 
				
			||||||
 | 
					        [pytest]
 | 
				
			||||||
 | 
					        testpaths = testing doc
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   This tells pytest to only look for tests in ``testing`` and ``doc``
 | 
				
			||||||
 | 
					   directories when executing from the root directory.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.. confval:: python_files
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   One or more Glob-style file patterns determining which python files
 | 
				
			||||||
 | 
					   are considered as test modules. By default, pytest will consider
 | 
				
			||||||
 | 
					   any file matching with ``test_*.py`` and ``*_test.py`` globs as a test
 | 
				
			||||||
 | 
					   module.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.. confval:: python_classes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   One or more name prefixes or glob-style patterns determining which classes
 | 
				
			||||||
 | 
					   are considered for test collection. By default, pytest will consider any
 | 
				
			||||||
 | 
					   class prefixed with ``Test`` as a test collection.  Here is an example of how
 | 
				
			||||||
 | 
					   to collect tests from classes that end in ``Suite``:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   .. code-block:: ini
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # content of pytest.ini
 | 
				
			||||||
 | 
					        [pytest]
 | 
				
			||||||
 | 
					        python_classes = *Suite
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   Note that ``unittest.TestCase`` derived classes are always collected
 | 
				
			||||||
 | 
					   regardless of this option, as ``unittest``'s own collection framework is used
 | 
				
			||||||
 | 
					   to collect those tests.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.. confval:: python_functions
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   One or more name prefixes or glob-patterns determining which test functions
 | 
				
			||||||
 | 
					   and methods are considered tests. By default, pytest will consider any
 | 
				
			||||||
 | 
					   function prefixed with ``test`` as a test.  Here is an example of how
 | 
				
			||||||
 | 
					   to collect test functions and methods that end in ``_test``:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   .. code-block:: ini
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # content of pytest.ini
 | 
				
			||||||
 | 
					        [pytest]
 | 
				
			||||||
 | 
					        python_functions = *_test
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   Note that this has no effect on methods that live on a ``unittest
 | 
				
			||||||
 | 
					   .TestCase`` derived class, as ``unittest``'s own collection framework is used
 | 
				
			||||||
 | 
					   to collect those tests.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   See :ref:`change naming conventions` for more detailed examples.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.. confval:: doctest_optionflags
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   One or more doctest flag names from the standard ``doctest`` module.
 | 
				
			||||||
 | 
					   :doc:`See how pytest handles doctests <doctest>`.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.. confval:: confcutdir
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   Sets a directory where search upwards for ``conftest.py`` files stops.
 | 
				
			||||||
 | 
					   By default, pytest will stop searching for ``conftest.py`` files upwards
 | 
				
			||||||
 | 
					   from ``pytest.ini``/``tox.ini``/``setup.cfg`` of the project if any,
 | 
				
			||||||
 | 
					   or up to the file-system root.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.. confval:: filterwarnings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   .. versionadded:: 3.1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   Sets a list of filters and actions that should be taken for matched
 | 
				
			||||||
 | 
					   warnings. By default all warnings emitted during the test session
 | 
				
			||||||
 | 
					   will be displayed in a summary at the end of the test session.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   .. code-block:: ini
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # content of pytest.ini
 | 
				
			||||||
 | 
					        [pytest]
 | 
				
			||||||
 | 
					        filterwarnings =
 | 
				
			||||||
 | 
					            error
 | 
				
			||||||
 | 
					            ignore::DeprecationWarning
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   This tells pytest to ignore deprecation warnings and turn all other warnings
 | 
				
			||||||
 | 
					   into errors. For more information please refer to :ref:`warnings`.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.. confval:: cache_dir
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   .. versionadded:: 3.2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   Sets a directory where stores content of cache plugin. Default directory is
 | 
				
			||||||
 | 
					   ``.cache`` which is created in :ref:`rootdir <rootdir>`. Directory may be
 | 
				
			||||||
 | 
					   relative or absolute path. If setting relative path, then directory is created
 | 
				
			||||||
 | 
					   relative to :ref:`rootdir <rootdir>`. Additionally path may contain environment
 | 
				
			||||||
 | 
					   variables, that will be expanded. For more information about cache plugin
 | 
				
			||||||
 | 
					   please refer to :ref:`cache_provider`.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.. confval:: console_output_style
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   .. versionadded:: 3.3
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   Sets the console output style while running tests:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   * ``classic``: classic pytest output.
 | 
				
			||||||
 | 
					   * ``progress``: like classic pytest output, but with a progress indicator.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   The default is ``progress``, but you can fallback to ``classic`` if you prefer or
 | 
				
			||||||
 | 
					   the new mode is causing unexpected problems:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   .. code-block:: ini
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # content of pytest.ini
 | 
				
			||||||
 | 
					        [pytest]
 | 
				
			||||||
 | 
					        console_output_style = classic
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.. confval:: empty_parameter_set_mark
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    .. versionadded:: 3.4
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    Allows to pick the action for empty parametersets in parameterization
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    * ``skip`` skips tests with a empty parameterset (default)
 | 
				
			||||||
 | 
					    * ``xfail`` marks tests with a empty parameterset as xfail(run=False)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    .. code-block:: ini
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      # content of pytest.ini
 | 
				
			||||||
 | 
					      [pytest]
 | 
				
			||||||
 | 
					      empty_parameter_set_mark = xfail
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    .. note::
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      The default value of this option is planned to change to ``xfail`` in future releases
 | 
				
			||||||
 | 
					      as this is considered less error prone, see `#3155`_ for more details.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.. _`#3155`: https://github.com/pytest-dev/pytest/issues/3155
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue