142 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
			
		
		
	
	
			142 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
 | 
						|
.. _`pytest helpers`:
 | 
						|
 | 
						|
Pytest API and builtin fixtures
 | 
						|
================================================
 | 
						|
 | 
						|
This is a list of ``pytest.*`` API functions and fixtures.
 | 
						|
 | 
						|
For information on plugin hooks and objects, see :ref:`plugins`.
 | 
						|
 | 
						|
For information on the ``pytest.mark`` mechanism, see :ref:`mark`.
 | 
						|
 | 
						|
For the below objects, you can also interactively ask for help, e.g. by
 | 
						|
typing on the Python interactive prompt something like::
 | 
						|
 | 
						|
    import pytest
 | 
						|
    help(pytest)
 | 
						|
 | 
						|
.. currentmodule:: pytest
 | 
						|
 | 
						|
Invoking pytest interactively
 | 
						|
---------------------------------------------------
 | 
						|
 | 
						|
.. autofunction:: main
 | 
						|
 | 
						|
More examples at :ref:`pytest.main-usage`
 | 
						|
 | 
						|
 | 
						|
Helpers for assertions about Exceptions/Warnings
 | 
						|
--------------------------------------------------------
 | 
						|
 | 
						|
.. autofunction:: raises
 | 
						|
 | 
						|
Examples at :ref:`assertraises`.
 | 
						|
 | 
						|
.. autofunction:: deprecated_call
 | 
						|
 | 
						|
Comparing floating point numbers
 | 
						|
--------------------------------
 | 
						|
 | 
						|
.. autoclass:: approx
 | 
						|
 | 
						|
Raising a specific test outcome
 | 
						|
--------------------------------------
 | 
						|
 | 
						|
You can use the following functions in your test, fixture or setup
 | 
						|
functions to force a certain test outcome.  Note that most often
 | 
						|
you can rather use declarative marks, see :ref:`skipping`.
 | 
						|
 | 
						|
.. autofunction:: _pytest.runner.fail
 | 
						|
.. autofunction:: _pytest.runner.skip
 | 
						|
.. autofunction:: _pytest.runner.importorskip
 | 
						|
.. autofunction:: _pytest.skipping.xfail
 | 
						|
.. autofunction:: _pytest.runner.exit
 | 
						|
 | 
						|
Fixtures and requests
 | 
						|
-----------------------------------------------------
 | 
						|
 | 
						|
To mark a fixture function:
 | 
						|
 | 
						|
.. autofunction:: _pytest.fixtures.fixture
 | 
						|
 | 
						|
Tutorial at :ref:`fixtures`.
 | 
						|
 | 
						|
The ``request`` object that can be used from fixture functions.
 | 
						|
 | 
						|
.. autoclass:: _pytest.fixtures.FixtureRequest()
 | 
						|
    :members:
 | 
						|
 | 
						|
 | 
						|
.. _builtinfixtures:
 | 
						|
.. _builtinfuncargs:
 | 
						|
 | 
						|
Builtin fixtures/function arguments
 | 
						|
-----------------------------------------
 | 
						|
 | 
						|
You can ask for available builtin or project-custom
 | 
						|
:ref:`fixtures <fixtures>` by typing::
 | 
						|
 | 
						|
    $ pytest -q --fixtures
 | 
						|
    cache
 | 
						|
        Return a cache object that can persist state between testing sessions.
 | 
						|
        
 | 
						|
        cache.get(key, default)
 | 
						|
        cache.set(key, value)
 | 
						|
        
 | 
						|
        Keys must be a ``/`` separated value, where the first part is usually the
 | 
						|
        name of your plugin or application to avoid clashes with other cache users.
 | 
						|
        
 | 
						|
        Values can be any object handled by the json stdlib module.
 | 
						|
    capsys
 | 
						|
        Enable capturing of writes to sys.stdout/sys.stderr and make
 | 
						|
        captured output available via ``capsys.readouterr()`` method calls
 | 
						|
        which return a ``(out, err)`` tuple.
 | 
						|
    capfd
 | 
						|
        Enable capturing of writes to file descriptors 1 and 2 and make
 | 
						|
        captured output available via ``capfd.readouterr()`` method calls
 | 
						|
        which return a ``(out, err)`` tuple.
 | 
						|
    doctest_namespace
 | 
						|
        Inject names into the doctest namespace.
 | 
						|
    pytestconfig
 | 
						|
        the pytest config object with access to command line opts.
 | 
						|
    record_xml_property
 | 
						|
        Add extra xml properties to the tag for the calling test.
 | 
						|
        The fixture is callable with ``(name, value)``, with value being automatically
 | 
						|
        xml-encoded.
 | 
						|
    monkeypatch
 | 
						|
        The returned ``monkeypatch`` fixture provides these
 | 
						|
        helper methods to modify objects, dictionaries or os.environ::
 | 
						|
        
 | 
						|
        monkeypatch.setattr(obj, name, value, raising=True)
 | 
						|
        monkeypatch.delattr(obj, name, raising=True)
 | 
						|
        monkeypatch.setitem(mapping, name, value)
 | 
						|
        monkeypatch.delitem(obj, name, raising=True)
 | 
						|
        monkeypatch.setenv(name, value, prepend=False)
 | 
						|
        monkeypatch.delenv(name, value, raising=True)
 | 
						|
        monkeypatch.syspath_prepend(path)
 | 
						|
        monkeypatch.chdir(path)
 | 
						|
        
 | 
						|
        All modifications will be undone after the requesting
 | 
						|
        test function or fixture has finished. The ``raising``
 | 
						|
        parameter determines if a KeyError or AttributeError
 | 
						|
        will be raised if the set/deletion operation has no target.
 | 
						|
    recwarn
 | 
						|
        Return a WarningsRecorder instance that provides these methods:
 | 
						|
        
 | 
						|
        * ``pop(category=None)``: return last warning matching the category.
 | 
						|
        * ``clear()``: clear list of warnings
 | 
						|
        
 | 
						|
        See http://docs.python.org/library/warnings.html for information
 | 
						|
        on warning categories.
 | 
						|
    tmpdir_factory
 | 
						|
        Return a TempdirFactory instance for the test session.
 | 
						|
    tmpdir
 | 
						|
        Return a temporary directory path object
 | 
						|
        which is unique to each test function invocation,
 | 
						|
        created as a sub directory of the base temporary
 | 
						|
        directory.  The returned object is a `py.path.local`_
 | 
						|
        path object.
 | 
						|
    
 | 
						|
    no tests ran in 0.12 seconds
 |