Kaydet (Commit) a4ce2f51 authored tarafından Raymond Hettinger's avatar Raymond Hettinger

SF bug #855317: unittest: 5.3.9 Getting Extended Error Information

The example code did not work and could not easily be made to work.
Since the docs were already complex and the feature was not used
(it took two years for the errors to surface), we decided to dedocument
it entirely, leaving unittest cleaner than before.
üst ad809556
......@@ -900,45 +900,3 @@ either by subclassing or assignment on an instance:
No methods on the resulting object are needed. The default value is
the \class{TestSuite} class.
\end{memberdesc}
\subsection{Getting Extended Error Information
\label{unittest-error-info}}
Some applications can make use of more error information (for example,
an integrated development environment, or IDE). Such an application
can retrieve supplemental information about errors and failures by
using an alternate \class{TestResult} implementation, and extending
the \method{defaultTestResult()} method of the \class{TestCase} class
to provide it.
Here is a brief example of a \class{TestResult} subclass which stores
the actual exception and traceback objects. (Be aware that storing
traceback objects can cause a great deal of memory not to be reclaimed
when it otherwise would be, which can have effects that affect the
behavior of the tests.)
\begin{verbatim}
import unittest
class MyTestCase(unittest.TestCase):
def defaultTestResult(self):
return MyTestResult()
class MyTestResult(unittest.TestResult):
def __init__(self):
self.errors_tb = []
self.failures_tb = []
def addError(self, test, err):
self.errors_tb.append((test, err))
unittest.TestResult.addError(self, test, err)
def addFailure(self, test, err):
self.failures_tb.append((test, err))
unittest.TestResult.addFailure(self, test, err)
\end{verbatim}
Tests written using \class{MyTestCase} as the base class, instead of
\class{TestCase}, will allow tools to extract additional information
from the results object.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment