Revision 2 as of 2011-08-11 04:27:12

Clear message

Join the [http://lists.idyll.org/listinfo/testing-in-python Testing In Python (TIP)] mailing list for Python testing tools discussions!

Unit Testing Tools[http://pycheesecake.org/wiki/PythonTestingToolsTaxonomy#UnitTestingTools ¶]

Tool

Category

Author

Part of

Claim to fame

[http://pyunit.sourceforge.net/pyunit.html unittest]

unit testing

[http://www.pythonconsulting.com/ Steve Purcell]

[http://docs.python.org/lib/module-unittest.html Python standard lib]

first unit test framework to be included in Python standard library; easy to use by people familiar with the xUnit frameworks; strong support for test organization and reuse via test suites

[http://docs.python.org/lib/module-doctest.html doctest]

unit testing

[http://www.python.org/peps/pep-0020.html Tim Peters]

[http://docs.python.org/lib/module-doctest.html Python standard lib]

copy and paste output from shell session; [http://agiletesting.blogspot.com/2005/02/agile-documentation-with-doctest-and.html Agile Documentation]: unit tests themselves can serve as documentation when combined with epydoc; also see [http://agiletesting.blogspot.com/2005/08/agile-documentation-in-django-project.html Django's approach]

[http://codespeak.net/py/current/doc/test.html py.test]

unit testing

[http://codespeak.net/ Holger Krekel]

[http://codespeak.net/py/current/doc/home.html py lib]

no API!;automatic collection of tests; simple asserts; strong support for test fixture/state management via setup/teardown hooks; strong debugging support via customized traceback

[http://testoob.sourceforge.net/ TestOOB]

unittest extensions

[http://freshmeat.net/%7Eoripel/ Ori Peleg]

unittest enhancements; test filtering via regex/glob patterns; reporting in XML/HTML; colorized output; runs pdb on failing tests; run in parallel in threads/processes; verbose asserts; report failures immediately; and a little more;

[http://somethingaboutorange.com/mrl/projects/nose/ nose]

unittest extensions

[http://somethingaboutorange.com/mrl/ Jason Pellerin]

unit test framework, used most notably by [http://www.turbogears.org/ TurboGears] and [http://pylonshq.com/ Pylons]; provides an alternate test discovery and running process for unittest, one that is intended to mimic the behavior of py.test as much as is reasonably possible without resorting to too much magic. More friendly with unittest.TestCase-based tests than py.test. There are also many [http://nose-plugins.jottit.com/ plugins] available.

[http://twistedmatrix.com/trac/wiki/TwistedTrial Trial]

unittest extensions

[http://mumak.net/wiki Jonathan Lange]

[http://www.twistedmatrix.com/ Twisted]

Extension of unittest to support writing asynchronous unit tests using Deferreds and new result types ('skip' and 'todo'). Includes a command-line program that does test discovery and integrates with doctest and coverage.

[http://www.robertcollins.net/unittest/subunit subunit]

unittest extensions

[http://www.robertcollins.net/ Robert Collins]

Transparently adds support for running unittest test cases/suites in a separate process : prevents system wide changes by a test destabilising the test runner. It also allows reporting from tests in another process into the unittest framework, giving a single integrated test environment.

[http://www.robertcollins.net/unittest/testresources testresources]

unittest extensions

[http://www.robertcollins.net/ Robert Collins]

Provides a mechanism for managing 'resources' - expensive bits of infrastructure - that are needed by multiple tests. Resources are constructed and free on demand, but with an optional [http://pycheesecake.org/wiki/TestSuite TestSuite?], the test run order is optimised to reduce the number of resource constructions and releases needed. Compatible with unittest.

[https://launchpad.net/testtools testtools]

unittest extensions

[http://mumak.net/wiki Jonathan Lange]

Useful extensions to unittest derived from custom extensions by projects such as Twisted and Bazaar.

[http://www.mems-exchange.org/software/sancho/ Sancho]

unit testing

[http://www.mems-exchange.org/ MEMS and Nanotechnology Exchange]

[http://www.mems-exchange.org/software/ MEMS Exchange tools]

Sancho 2.1 runs tests, and provides output for tests that fail; Sancho 2.1 does not count tests passed or failed; targets projects that do not maintain failing tests

[http://sourceforge.net/projects/pyunitperf pyUnitPerf]

performance-based unit testing

[http://agiletesting.blogspot.com/ Grig Gheorghiu]

port of [http://www.clarkware.com/software/JUnitPerf.html JUnitPerf]; transparently adds [http://agiletesting.blogspot.com/2004/12/performance-testing-with-pyunitperf.html performance testing capabilities] to existing unitttest-based test suites

[http://www.accesscom.com/%7Edarius/software/clickcheck.html Peckcheck]

specification-based unit testing

[http://www.accesscom.com/%7Edarius/personal/contact.html Darius Bacon]

like the unittest module, except that test methods may take arguments; you declare each argument with a default value which names a test-data generator and the peckcheck module will peck at your test methods with a bunch of generated values

[http://projects.edgewall.com/qunittest/ qunittest]

unit testing

[http://www.edgewall.com/ Edgewall]

Easy-to-use (PyQt) GUI framework and application for use with the Python unit testing framework. It can be used to conveniently execute unit tests and suites, and then display the results in a useful fashion.

[http://www.zetadev.com/software/testosterone/ testosterone]

unit testing

[http://www.zetadev.com/ Chad Whitacre]

A manly test runner; command-line and curses(3) interfaces; the iPod of test runners. (More seriously, makes it easier to browse and inspect your test failures)

[http://cheeseshop.python.org/pypi/zope.testing zope.testing]

unit testing

Zope3 community

Powerful test runner that includes support for post-mortem debugging of test failures. Also includes profiling and coverage reporting. This is a standalone package that has no dependencies on Zope and works just fine with projects that don't use Zope.

[http://dev.nullcube.com/ pry]

unit testing

[http://www.nullcube.com/ Aldo Cortesi]

Elegant unit testing framework with built-in coverage analysis, profiling, micro-benchmarking and a powerful command-line interface.

[http://pythoscope.org/ pythoscope]

unit testing

[http://joker.linuxstuff.pl/ Michal Kwiatkowski]

Tool that will automatically, or semi-automatically, generate unit tests for legacy systems written in Python.

[http://www.logilab.org/project/logilab-common/ testlib]

unittest extensions

[http://www.logilab.fr/ Logilab]

logilab-common

Gives more power to standard unittest. More assert* methods; support for module level setup/teardown; skip test feature...

[http://www.logilab.org/project/logilab-common/ pytest]

tests runner

[http://www.logilab.fr/ Logilab]

logilab-common

Tests finder / runner. Selectivly run tests; Stop on first failure; Run pdb on failed tests; Colorized reports; Run tests with coverage / profile enabled...

[http://pypi.python.org/pypi/dutest dutest]

unittest extensions

[https://opensvn.csie.org/traccgi/swlcu/ Olemis Lang]

[http://flioops.sf.net/ PyOOP package] (distributed separately too)

An object oriented interface to retrieve unittest test cases out of doctests. Hides initialization from doctests by allowing setUp and tearDown for each interactive example. Allows control over all the options provided by doctest. Specialized classes allow selective test discovery across a package hierarchy.

Unable to edit the page? See the FrontPage for instructions.