The basic building blocks of unit testing are 'test cases' -- single
scenarios that must be set up and checked for correctness.
In PyUnit, test cases
are represented by the TestCase class in the unittest
module. To make your own test cases you must write subclasses of TestCase.
An instance of a TestCase class is an object that can completely
run a single test method, together with optional set-up and tidy-up code.
The testing code of a TestCase instance should be entirely self
contained, such that it can be run either in isolation or in arbitrary
combination with any number of other test cases.