I'm pleased to announce the first advertised release of TestFixtures. This is a collection of helpers and mock objects that are useful when writing unit tests or doc tests.
The modules currently included are:
This class lets you instantiate placeholders that can be used to compared expected results with actual results where objects in the actual results do not support useful comparison. The comparision can be based just on the type of the object or on a partial set of the object's attributes, both of which are particularly handy when comparing sequences returned from tested code.
A replacement for assertEquals and the failUnless(x() is True) pattern. Gives more useful differences when the arguments aren't the same, particularly for sequences and long strings.
This function will compare two strings and give a unified diff of their comparison. Handy as a third parameter to unittest.TestCase.assertEquals.
This function will return a generator that yields the arguments it was called with when the generator is iterated over.
This helper allows you to capture log messages for specified loggers in doctests.
This decorator allows you to capture log messages for specified loggers for the duration of unittest methods.
This decorator enables you to replace objects such as classes and functions for the duration of a unittest method. The replacements are removed regardless of what happens during the test.
This helper enables you to replace objects such as classes and functions from within doctests and then restore the originals once testing is completed.
This is a better version of assertRaises that lets you check the exception raised is not only of the correct type but also has the correct parameters.
This helper will create a temporary directory for you using mkdtemp and provides a handy class method for cleaning all of these up.
This decorator will create a temporary directory for the duration of the unit test and clear it up no matter the outcome of the test.
This is a handy class factory that returns datetime.date replacements that have a today method that gives repeatable, specifiable, testable dates.
This is a handy class factory that returns datetime.datetime replacements that have a now method that gives repeatable, specifiable, testable datetimes.
This is a handy replacement for time.time that gives repeatable, specifiable, testable times.
This is a generic decorator for wrapping method and function calls with a try-finally and having code executed before the try and as part of the finally.
To find out more, please read here: