Size: 1077
Comment: Ian Bicking inspired discussion
|
Size: 1706
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 3: | Line 3: |
* UnitTest in the standard library (http://www.python.org/doc/current/lib/module-unittest.html) | * UnitTest in the standard library (http://docs.python.org/lib/module-unittest.html) |
Line 5: | Line 5: |
* [http://www.garethrees.org/2001/12/04/python-coverage/ StatementCoverage] This module runs your code, then produces a report on how many statements were executed, and which ones were not. Use it to ensure your unit tests test everything. | * [[http://www.garethrees.org/2001/12/04/python-coverage/|StatementCoverage]] This module runs your code, then produces a report on how many statements were executed, and which ones were not. Use it to ensure your unit tests test everything. |
Line 7: | Line 7: |
* McCabe-like Python Cyclomatic Complexity analysis tools are available at http://journyx.com/curt/complexity.html. They're written in Perl, but read and analyze only Python code. Complexity is bad, this will help you simplify code - especially code you didn't write. * [[http://www.python.org/pypi/zope.testing|zope.testing]] provides a powerful test runner that supports test discovery and a wide range of options to control how tests are run and results reported. * [[http://somethingaboutorange.com/mrl/projects/nose/|nose]] is "a discovery-based [[unittest]] [[extension]]" that generally also supports PyTest functionality. |
|
Line 26: | Line 29: |
-- MikeRovner [[DateTime(2004-02-27T19:25:32Z)]] | -- MikeRovner <<DateTime(2004-02-27T19:25:32Z)>> |
Software
UnitTest in the standard library (http://docs.python.org/lib/module-unittest.html)
StatementCoverage This module runs your code, then produces a report on how many statements were executed, and which ones were not. Use it to ensure your unit tests test everything.
McCabe-like Python Cyclomatic Complexity analysis tools are available at http://journyx.com/curt/complexity.html. They're written in Perl, but read and analyze only Python code. Complexity is bad, this will help you simplify code - especially code you didn't write.
zope.testing provides a powerful test runner that supports test discovery and a wide range of options to control how tests are run and results reported.
nose is "a discovery-based unittest extension" that generally also supports PyTest functionality.
Best Practices
Discussion
Sprouted out by http://formencode.org/docs/DataTest/TODO.html.
What I need is a layered test system like
- test suit
- with fast/normal/detailed mode
- with known failing tests excluded
- test package to group related tests with preset parameters
- individual test
- with options like log details
- with ability to flex parameters, extend options etc.
- test utilities
- fuzzy difference
- different logging/reporting/visualization helpers
- with output capture capability
-- MikeRovner 2004-02-27 19:25:32