5.3.7 TestResult Objects
            
A TestResult object stores the results of a set of tests.  The
TestCase and TestSuite classes ensure that results are
properly stored; test authors do not need to worry about recording the
outcome of tests.
Testing frameworks built on top of unittest may want
access to the TestResult object generated by running a set of
tests for reporting purposes; a TestResult instance is
returned by the TestRunner.run() method for this purpose.
Each instance holds the total number of tests run, and collections of
failures and errors that occurred among those test runs.  The
collections contain tuples of (testcase,
traceback), where traceback is a string containing a
formatted version of the traceback for the exception.
TestResult instances have the following attributes that will
be of interest when inspecting the results of running a set of tests:
- errors
- 
  A list containing pairs of TestCase instances and the
  formatted tracebacks for tests which raised an exception but did not
  signal a test failure.
  
Changed in version 2.2:
Contains formatted tracebacks instead of
                  sys.exc_info() results.
- failures
- 
  A list containing pairs of TestCase instances and the
  formatted tracebacks for tests which signalled a failure in the code
  under test.
  
Changed in version 2.2:
Contains formatted tracebacks instead of
                  sys.exc_info() results.
- testsRun
- 
  The number of tests which have been started.
- 
  Returns true if all tests run so far have passed, otherwise returns
  false.
The following methods of the TestResult class are used to
maintain the internal data structures, and may be extended in
subclasses to support additional reporting requirements.  This is
particularly useful in building tools which support interactive
reporting while tests are being run.
- 
  Called when the test case test is about to be run.
- 
  Called when the test case test has been executed, regardless
  of the outcome.
- 
  Called when the test case test raises an exception without
  signalling a test failure.  err is a tuple of the form
  returned by sys.exc_info():  (type,
  value, traceback).
- 
  Called when the test case test signals a failure.
  err is a tuple of the form returned by
  sys.exc_info():  (type, value,
  traceback).
- 
  This method is called for a test that does not fail; test is
  the test case object.
One additional method is available for TestResult objects:
- 
  This method can be called to signal that the set of tests being run
  should be aborted.  Once this has been called, the
  TestRunner object return to its caller without running any
  additional tests.  This is used by the TextTestRunner class
  to stop the test framework when the user signals an interrupt from
  the keyboard.  Interactive tools which provide runners can use this
  in a similar manner.
Release 2.4.4, documentation updated on 18 October 2006.
 
See About this document... for information on suggesting changes.