Summary
- The
unittestmodule 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...