Metadata-Version: 2.4
Name: pytest-mockito
Version: 0.0.5
Summary: Base fixtures for mockito
Project-URL: Homepage, https://github.com/kaste/pytest-mockito
Author-email: herr kaste <herr.kaste@gmail.com>
License: MIT
License-File: LICENSE
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX
Classifier: Programming Language :: Python
Classifier: Topic :: Software Development :: Quality Assurance
Classifier: Topic :: Software Development :: Testing
Classifier: Topic :: Utilities
Requires-Python: >=3.8
Requires-Dist: mockito>=1.0.6
Requires-Dist: pytest>=6
Description-Content-Type: text/x-rst

Convenience plugin on top of mockito.

.. image:: https://travis-ci.org/kaste/pytest-mockito.svg?branch=master
    :target: https://travis-ci.org/kaste/pytest-mockito

Install
=======

``pip install pytest-mockito``

After that the plugin is enabled by default.


Fixtures
========

The plugin provides fixtures for the main entrypoints of mockito which guarantee that you `unstub()` on teardown. Usage is *very* simple and straightforward::

    def test_foo(when):
        when(os.path).exists('/foo').thenReturn(False)
        assert os.path.exists('/foo')  # sic!
        # will still unstub/unpatch bc pytest will run the teardown

For convenience `verifyStubbedInvocationsAreUsed` is called just before `unstub`. This should warn you when you setup stubs that you actually don't use.

You can also use a marker. `usefixtures <http://doc.pytest.org/en/latest/fixture.html#using-fixtures-from-classes-modules-or-projects>`_ here will ensure an `unstub` at the end of each test, but does not actually inject the fixture::

    import pytest

    @pytest.mark.usefixtures('unstub')
    class TestDog:
        def test(self):
            ...

To mark *all* test cases at the module level::

    pytestmark = pytest.mark.usefixtures('unstub')


All of the following fixtures just export the equivalent mockito function but `unstub()` on teardown. The exception here is `expect` which also calls `verifyNoUnwantedInteractions()`::

    when
    when2
    expect
    patch
    unstub
    spy2



