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