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...