
Doublex is a test doubles framework for the Python unittest module. It may be used as a effective tool to perform Test Driven Development.
It provides stubs, spies, proxy-spies, mocks, individual methods, properties, etc. Methods support observer attachment or delegate return value generation to iterables, generators or even third party functions. A special double factory (called Mimic) allows one to create doubles inheriting original class superclasses. This provides replacements for the original instances even for code performing explicit type checking.