Unit testing
Let's start our exploration with Python's built-in test library. This library provides a common interface for unit tests. Unit tests are a special kind of automated test that focuses on testing the least amount of code possible in any one test. Each test 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 after running them.
When we want to write a set of unit tests for a specific task, we create a subclass of TestCase
, and write methods that accept no arguments to do the actual testing. These methods must all start with the string test
. If this convention is followed, they'll automatically be run as part of the test process. Normally, the tests set some values on an object and then run a method, and use...