I added methods to MGTestCase which are called before (setup) and after (tearDown) each test. Uses of these methods would be to create (and destroy) some common data for each of the tests in the MGTestCase, to time each test, or to do any task that must be done on a test-by-test basis as opposed to before and after all the tests in a MGTestCase (init and cleanup do that).

See ["Unit testing framework"](http://michaelgalloy.com/2007/01/04/unit-testing-framework.html) for an overview of the unit test framework.

Here's an [archive of all files needed](http://michaelgalloy.com/wp-content/uploads/2007/04/mgunit.tar.gz) and the docs for all the source code.