Unit testing
Let's start our exploration with Python's built-in test library. This library provides a common object-oriented interface for unit tests. Unit tests focus on testing the least amount of code possible in any one test. Each one tests a single unit of the total amount of available code.
The Python library for this is called, unsurprisingly, unittest
. It provides several tools for creating and running unit tests, the most important being the TestCase
class. This class provides a set of methods that allow us to compare values, set up tests, and clean up when they have finished.
When we want to write a set of unit tests for a specific task, we create a subclass of TestCase
and write individual methods to do the actual testing. These methods must all start with the name test
. When this convention is followed, the tests automatically run as part of the test process. Normally, the tests set some values on an object and then run a method, and use the built-in comparison methods to ensure...