Module lemon.external.Cheetah.Tests.unittest_local_copy
This is a hacked version of PyUnit that extends its reporting capabilities
with optional meta data on the test cases. It also makes it possible to
separate the standard and error output streams in TextTestRunner.
It's a hack rather than a set of subclasses because a) Steve had used double
underscore private attributes for some things I needed access to, and b) the
changes affected so many classes that it was easier just to hack it.
The changes are in the following places:
TestCase:
- minor refactoring of __init__ and __call__ internals
- added some attributes and methods for storing and retrieving meta data
_TextTestResult
- refactored the stream handling
- incorporated all the output code from TextTestRunner
- made the output of FAIL and ERROR information more flexible and
incorporated the new meta data from TestCase
- added a flag called 'explain' to __init__ that controls whether the new '
explanation' meta data from TestCase is printed along with tracebacks
TextTestRunner
- delegated all output to _TextTestResult
- added 'err' and 'explain' to the __init__ signature to match the changes
in _TextTestResult
TestProgram
- added -e and --explain as flags on the command line
-- Tavis Rudd (Sept 28th, 2001)
- _TestTextResult.printErrorList(): print blank line after each traceback
-- Mike Orr (Nov 11, 2002)
---------------------------------------------------------------------------
Python unit testing framework, based on Erich Gamma's JUnit and Kent Beck's
Smalltalk testing framework.
This module contains the core framework classes that form the basis of
specific test cases and suites (TestCase, TestSuite etc.), and also a
text-based utility class for running the tests and reporting the results
(TextTestRunner).
Simple usage:
import unittest
class IntegerArithmenticTestCase(unittest.TestCase):
def testAdd(self): ## test method names begin 'test*'
self.assertEquals((1 + 2), 3)
self.assertEquals(0 + 1, 1)
def testMultiply(self);
self.assertEquals((0 * 10), 0)
self.assertEquals((5 * 8), 40)
if __name__ == '__main__':
unittest.main()
Further information is available in the bundled documentation, and from
http://pyunit.sourceforge.net/
Copyright (c) 1999, 2000, 2001 Steve Purcell
This module is free software, and you may redistribute it and/or modify
it under the same terms as Python itself, so long as this copyright message
and disclaimer are retained in their original form.
IN NO EVENT SHALL THE AUTHOR BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT,
SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OF
THIS CODE, EVEN IF THE AUTHOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGE.
THE AUTHOR SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE. THE CODE PROVIDED HEREUNDER IS ON AN "AS IS" BASIS,
AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE,
SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
Classes |
FunctionTestCase |
A test case that wraps a test function. |
main |
A command-line program that runs a set of tests; this is primarily
for making test modules conveniently executable. |
StreamWrapper |
|
TestCase |
A class whose instances are single test cases. |
TestLoader |
This class is responsible for loading tests according to various... |
TestProgram |
A command-line program that runs a set of tests; this is primarily
for making test modules conveniently executable. |
TestResult |
Holder for test result information. |
TestSuite |
A test suite is a composite test consisting of a number of TestCases. |
TextTestRunner |
|
Function Summary |
|
findTestCases(module,
prefix,
sortUsing,
suiteClass)
|
|
getTestCaseNames(testCaseClass,
prefix,
sortUsing)
|
|
makeSuite(testCaseClass,
prefix,
sortUsing,
suiteClass)
|
__author__
-
- Type:
-
str
- Value:
|
__email__
-
- Type:
-
str
- Value:
'stephen_purcell at yahoo dot com'
|
|
__revision__
-
- Type:
-
str
- Value:
|
defaultTestLoader
-
- Type:
-
TestLoader
- Value:
<lemon.external.Cheetah.Tests.unittest_local_copy.TestLoader instance \
at 0x00CA1C60>
|
|