A collection of helpers and mock objects for unit tests and doc tests.
Project description
TestFixtures is a collection of helpers and mock objects that are useful when writing unit tests or doc tests.
It’s simple enough to get going with them, do one of the following:
easy_install testfixtures
add testfixtures as a required egg in your buildout config. You should only need to do this in the section that defines your test runner.
download testfixtures.tar.gz from
http://pypi.python.org/pypi/testfixtures
You’ll then need to unpack it and do the usual python setup.py install
If you’re wondering why “yet another mock object library”, testing is often described as an art form and as such some styles of library will suite some people while others will suite other styles. This library was extracted from common test fixtures the author found himself repeating from package to packages and so decided to extract them into their own library and give them some tests of their own!
NB: TestFixtures own tests use the excellent Mock package:
http://pypi.python.org/pypi/mock/
While use of TestFixtures doesn’t require Mock to be installed, it’s highly recommended if you need mock objects for testing.
The available helpers and mock objects are listed below, for functional examples, see the contents of the tests folder.
- Comparison
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, which is particularly handy when comparing sequences returned from tested code.
- compare
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.
- diff
This function will compare two strings and give a unified diff of their comparison. Handy as a third parameter to unittest.TestCase.assertEquals.
- generator
This function will return a generator that yields the arguments it was called with when the generator is iterated over.
- LogCapture
This helper allows you to capture log messages for specified loggers in doctests.
- log_capture
This decorator allows you to capture log messages for specified loggers for the duration of unittest methods.
- replace
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.
- Replacer
This helper enables you to replace objects such as classes and functions from within doctests and then restore the originals once testing is completed.
- should_raise
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.
- test_date
This is a handy class factory that returns datetime.date replacements that have a today method that gives repeatable, specifiable, testable dates.
- test_datetime
This is a handy class factory that returns datetime.datetime replacements that have a now method that gives repeatable, specifiable, testable datetimes.
- test_time
This is a handy replacement for time.time that gives repeatable, specifiable, testable times.
- wrap
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.
Licensing
Copyright (c) 2008 Simplistix Ltd
See license.txt for details.
Changes
1.0.0
Initial Release
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.