• Grig Gheorghiu has a series of three blog posts comparing these three testing suites/packages: doctest, unittest, and pytest.

Testing Suites

  • doctest: Software tests that are part of a routine’s documentation. Package is part of the Python Standard Library.
  • nose: Extends unittest. Automatically discovers and runs your tests.
  • pytest: Discovery-based and full-featured.
  • unittest (a.k.a., PyUnit): Highly structured and complete testing package that is part of the Python Standard Library.

Continuous Integration

  • tox: Front-end to continuous integration servers.
  • virtualenv: Virtual Python environment (can be used for testing mixes of dependencies).