======================
 TODO and Limitations
======================

Contributions, bug reports and comments welcomed!

Feature requests and bug reports are handled on the issue tracker:

 * `mock module issue tracker <http://code.google.com/p/mock/issues/list>`_

When mocking a class with ``patch``, passing in ``spec=True``, the mock class
has an instance created from the same spec. Should this be the default
behaviour for mocks anyway (mock return values inheriting the spec from their
parent), or should it be controlled by an additional keyword argument
(``inherit``) to the Mock constructor?
 
More complete docstrings.

Interaction of magic methods with spec, wraps. For example, should spec cause
all methods to be wrapped with mocksignature perhaps? (or another keyword
argument perhaps?)

Should magic method calls (including __call__) be tracked in method_calls?

Could take a patch keyword argument and auto-do the patching in the
constructor and unpatch in the destructor. This would be useful in itself, but
violates TOOWTDI and would be unsafe for IronPython (non-deterministic calling
of destructors).

``Mock`` has several attributes. This makes it unsuitable for mocking objects
that use these attribute names. A way round this would be to provide ``start``
and ``stop`` (or similar) methods that *hide* these attributes when needed.
