Combining unittest and doctest tests
In most cases, we'll have a combination of unittest and doctest test cases. For examples of doctest, see the Using docstrings for testing recipe. For examples of unittest, see the Creating separate test modules and packages recipe.
The doctest examples are an essential element of the documentation strings on modules, classes, methods, and functions. The unittest cases will often be in a separate tests directory in files with names that match the pattern test_*.py.
How can we combine all of these various tests into one tidy package?
Getting ready
We'll refer back to the example from the Using docstrings for testing recipe. This recipe created tests for a class, Summary, that does some statistical calculations. In that recipe, we included examples in the docstrings.
The class started like this:
class Summary:
'''Computes summary statistics.
>>> s = Summary()
>>> s.add(8)
>>> s.add(9)
...