Doctest: The Easiest Testing Tool
Time for action - creating and running your first doctest
Time for action - writing a more complex test
Time for action - expecting an exception
Time for action - using ellipsis in tests
Time for action - normalizing whitespace
Time for action skipping tests
Embedding doctests in Python docstrings
Time for action - embedding a doctest in a docstring
Putting it in practice: an AVL tree
What is Unit testing and what it is not?
Time for action - identifying units
Unit testing throughout the development process
Time for action - unit testing during design
Time for action - unit testing during development
Time for action - unit testing during feedback
Time for action - unit testing during development... again
Time for action - unit testing during maintenance
Time for action - unit testing during reuse
Breaking Tight Coupling by using Mock Objects
Time for action - installing Python Mocker
Time for action - exploring the basics of Mocker
Time for action - passing a mock object as self
When Doctest isn't Enough: Unittest to the Rescue
Time for action - testing PID with unittest
Time for action - testing database-backed units
Integrating with Python Mocker
Running Your Tests: Follow Your Nose
Time for action - organizing tests from previous chapters
Time for action - creating a fixture for a doctest
Time for action - creating a module fixture
Time for action - creating a package fixture
Time for action - using Nose-specific tests
Developing a Test-Driven Project
Time for action - what are you going to do?
Time for action - nailing down the specification with unit tests
Using the tests to get the code right
Time for action - writing and debugging code
Testing Web Application Frontends using Twill
Time for action - browsing the web with Twill
Time for action - Twill scripting
Calling Twill scripts from tests
Time for action - running Twill script files
Time for action - running Twill script strings
Integrating Twill operations into unittest tests
Time for action - using Twill's browser object
Integration Testing and System Testing
Integration tests and system tests
Time for action - figuring out the order of integration
Automation with doctest, unittest, and Nose
Time for action - writing integration tests for the time planner
Other Testing Tools and Techniques
Time for action - using coverage.py
Time for action - installing Nose as a Bazaar post-commit hook
Time for action - installing Nose as a Mercurial post-commit hook
Time for action - installing Nose as a Git post-commit hook
Time for action - installing Nose as a Darcs post-record hook
Time for action - installing Nose as a Subversion post-commit hook
Automated continuous integration