[Python-checkins] peps: Adding PEP 417 'Adding mock to the standard library'
michael.foord
python-checkins at python.org
Mon Mar 12 23:01:49 CET 2012
http://hg.python.org/peps/rev/ef8a076004d6
changeset: 4126:ef8a076004d6
user: Michael Foord <michael at voidspace.org.uk>
date: Mon Mar 12 15:00:48 2012 -0700
summary:
Adding PEP 417 'Adding mock to the standard library'
files:
pep-0417.txt | 71 ++++++++++++++++++++++++++++++++++++++++
1 files changed, 71 insertions(+), 0 deletions(-)
diff --git a/pep-0417.txt b/pep-0417.txt
new file mode 100644
--- /dev/null
+++ b/pep-0417.txt
@@ -0,0 +1,71 @@
+PEP: 417
+Title: Including mock in the Standard Library
+Version: $Revision$
+Last-Modified: $Date$
+Author: Michael Foord <michael at python.org>
+Status: Draft
+Type: Standards Track
+Content-Type: text/plain
+Created: 12-Mar-2012
+Python-Version: 3.3
+Post-History: 12-Mar-2012
+
+
+Abstract
+
+ This PEP proposes adding the mock [1]_ testing library
+ to the Python standard library as ``unittest.mock``.
+
+
+Rationale
+
+ Creating mock objects for testing is a common need in Python.
+ Many developers create ad-hoc mocks, as needed, in their test
+ suites. This is currently what we do in the Python test suite,
+ where a standardised mock object library would be helpful.
+
+ There are many mock object libraries available for Python [2]_.
+ Of these, mock is overwhelmingly the most popular, with as many
+ downloads on PyPI as the other mocking libraries combined.
+
+ An advantage of mock is that it is a mocking library and not a
+ framework. It provides a configurable and flexible mock object,
+ without being opinionated about how you write your tests. The
+ mock api is now well battle-tested and stable.
+
+ mock also handles safely monkeypatching and unmonkeypatching
+ objects during the scope of a test. This is hard to do safely
+ and many developers / projects mimic this functionality
+ (often incorrectly). A standardised way to do this, handling
+ the complexity of patching in the presence of the descriptor
+ protocol (etc) is useful. People are asking for a "patch" [3]_
+ feature to unittest. Doing this via mock.patch is preferable
+ to re-implementing part of this functionality in unittest.
+
+
+Background
+ Addition of mock to the Python standard library was discussed
+ and agreed to at the Python Language Summit 2012.
+
+
+References
+
+ [1] `mock library on PyPI<http://pypi.python.org/pypi/mock>`_
+ [2] http://pypi.python.org/pypi?%3Aaction=search&term=mock&submit=search
+ [3] http://bugs.python.org/issue11664
+
+
+
+Copyright
+
+ This document has been placed in the public domain.
+
+
+
+Local Variables:
+mode: indented-text
+indent-tabs-mode: nil
+sentence-end-double-space: t
+fill-column: 70
+coding: utf-8
+End:
--
Repository URL: http://hg.python.org/peps
More information about the Python-checkins
mailing list