PyUnit's architecture is simple and effective. Tests are implemented by inheritance from a base class, TestCase , which supports test fixture behavior. Tests may be aggregated using a TestSuite . A number of test assert methods are provided. The PyUnit module, unittest.py , not only contains the foundation code for building unit tests, but also acts as a test runner to execute tests from the command line. A GUI test runner is also provided.