Assertions are the mechanism we use to tell
unittest what the important outcomes of the test are. By using appropriate assertions, we can tell
unittest exactly what to expect from each test.
When we call
self.assertTrue(expression), we're telling
unittest that the expression must be true in order for the test to be a success.
This is a very flexible assertion, since you can check for nearly anything by writing the appropriate Boolean expression. It's also one of the last assertions you should consider using, because it doesn't tell
unittest anything about the kind of comparison you're making, which means that
unittest can't tell you clearly what's gone wrong if the test fails.
For example, consider the following test ...