bump version, mention "mp" also in the docs and changelog
This commit is contained in:
parent
adbbd164ff
commit
303f49a5ad
|
@ -10,6 +10,8 @@ Changes between 2.2.1 and 2.2.2.dev
|
||||||
- fix issue106: allow parametrize to be applied multiple times
|
- fix issue106: allow parametrize to be applied multiple times
|
||||||
e.g. from module, class and at function level.
|
e.g. from module, class and at function level.
|
||||||
- add chdir method to monkeypatch funcarg
|
- add chdir method to monkeypatch funcarg
|
||||||
|
- add "mp" funcargs as a shortcut for "monkeypatch"
|
||||||
|
- fix crash resulting from calling monkeypatch undo a second time
|
||||||
|
|
||||||
Changes between 2.2.0 and 2.2.1
|
Changes between 2.2.0 and 2.2.1
|
||||||
----------------------------------------
|
----------------------------------------
|
||||||
|
|
|
@ -1,2 +1,2 @@
|
||||||
#
|
#
|
||||||
__version__ = '2.2.2.dev5'
|
__version__ = '2.2.2.dev6'
|
||||||
|
|
|
@ -14,14 +14,14 @@ and a discussion of its motivation.
|
||||||
|
|
||||||
.. _`monkeypatch blog post`: http://tetamap.wordpress.com/2009/03/03/monkeypatching-in-unit-tests-done-right/
|
.. _`monkeypatch blog post`: http://tetamap.wordpress.com/2009/03/03/monkeypatching-in-unit-tests-done-right/
|
||||||
|
|
||||||
|
Simple example: monkeypatching functions
|
||||||
Simple example: patching ``os.path.expanduser``
|
|
||||||
---------------------------------------------------
|
---------------------------------------------------
|
||||||
|
|
||||||
If, for instance, you want to pretend that ``os.expanduser`` returns a certain
|
If you want to pretend that ``os.expanduser`` returns a certain
|
||||||
directory, you can use the :py:meth:`monkeypatch.setattr` method to
|
directory, you can use the :py:meth:`monkeypatch.setattr` method to
|
||||||
patch this function before calling into a function which uses it::
|
patch this function before calling into a function which uses it::
|
||||||
|
|
||||||
|
# content of test_module.py
|
||||||
import os.path
|
import os.path
|
||||||
def getssh(): # pseudo application code
|
def getssh(): # pseudo application code
|
||||||
return os.path.join(os.path.expanduser("~admin"), '.ssh')
|
return os.path.join(os.path.expanduser("~admin"), '.ssh')
|
||||||
|
@ -33,22 +33,20 @@ patch this function before calling into a function which uses it::
|
||||||
x = getssh()
|
x = getssh()
|
||||||
assert x == '/abc/.ssh'
|
assert x == '/abc/.ssh'
|
||||||
|
|
||||||
After the test function finishes the ``os.path.expanduser`` modification
|
Here our test function monkeypatches ``os.path.expanduser`` and
|
||||||
will be undone.
|
then calls into an function that calls it. After the test function
|
||||||
|
finishes the ``os.path.expanduser`` modification will be undone.
|
||||||
|
|
||||||
.. background check:
|
.. note::
|
||||||
$ py.test
|
|
||||||
=========================== test session starts ============================
|
|
||||||
platform darwin -- Python 2.7.1 -- pytest-2.2.1
|
|
||||||
collecting ... collected 0 items
|
|
||||||
|
|
||||||
============================= in 0.00 seconds =============================
|
As with version 2.2.2 there is a ``mp`` function argument
|
||||||
|
which is a shortcut for "monkeypatch".
|
||||||
|
|
||||||
Method reference of the monkeypatch function argument
|
Method reference of the monkeypatch function argument
|
||||||
-----------------------------------------------------
|
-----------------------------------------------------
|
||||||
|
|
||||||
.. autoclass:: monkeypatch
|
.. autoclass:: monkeypatch
|
||||||
:members: setattr, delattr, setitem, delitem, setenv, delenv, syspath_prepend, undo
|
:members: setattr, delattr, setitem, delitem, setenv, delenv, syspath_prepend, chdir, undo
|
||||||
|
|
||||||
``monkeypatch.setattr/delattr/delitem/delenv()`` all
|
``monkeypatch.setattr/delattr/delitem/delenv()`` all
|
||||||
by default raise an Exception if the target does not exist.
|
by default raise an Exception if the target does not exist.
|
||||||
|
|
2
setup.py
2
setup.py
|
@ -24,7 +24,7 @@ def main():
|
||||||
name='pytest',
|
name='pytest',
|
||||||
description='py.test: simple powerful testing with Python',
|
description='py.test: simple powerful testing with Python',
|
||||||
long_description = long_description,
|
long_description = long_description,
|
||||||
version='2.2.2.dev5',
|
version='2.2.2.dev6',
|
||||||
url='http://pytest.org',
|
url='http://pytest.org',
|
||||||
license='MIT license',
|
license='MIT license',
|
||||||
platforms=['unix', 'linux', 'osx', 'cygwin', 'win32'],
|
platforms=['unix', 'linux', 'osx', 'cygwin', 'win32'],
|
||||||
|
|
Loading…
Reference in New Issue