- The
unittest
module is a framework for developing reliable automated tests. - You define test cases by subclassing from
unittest.TestCase
. - The
unittest.main()
function is useful for running all of the tests in a module. - The
setUp()
andtearDown()
fixtures are used to run code before and after each test method. - Test methods are defined by creating method names that start with
test_
on test case objects. - The various
TestCase.assert...
methods can be used to make a test method fail when the right conditions aren't met. - Use
TestCase.assertRaises()
in awith
-statement to check that the right exceptions are thrown in a test.
Test-driven development, or simply TDD, is a form of software development where tests are written first, That is, before you write the actual functionality to be tested. This may seem backwards at first, but it can be a surprisingly powerful technique. You can learn more about TDD here.
Note that we don't actually try to test any functionality yet. This is just the initial skeleton...