The TestCase class hierarchy
Inheritance works among the TestCase
classes. Ideally, each TestCase
is unique. Pragmatically, there may be common features among cases. There are three common ways in which TestCase
classes may overlap:
Common setUp(): We may have some data that is used in multiple
TestCases
. There's no reason to repeat the data. ATestCase
class that only definessetUp()
ortearDown()
with no test methods is legal, but it may lead to a confusing log because there are zero tests involved.Common tearDown(): It's common to have a common cleanup for tests that involve OS resources. We might need to remove files and directories or kill subprocesses.
Common results checking: For algorithmically complex tests, we may have a results checking method that verifies some properties of a result.
Looking back at Chapter 3, Attribute Access, Properties, and Descriptors, for example, consider the RateTimeDistance
class. This class fills in a missing value in a dictionary based on two other...