class unittest.TestResult
This class is used to compile information about which tests have succeeded and which have failed.
A TestResult object stores the results of a set of tests. The TestCase and TestSuite classes ensure that results are properly recorded; 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.
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 2-tuples of
TestCaseinstances and strings holding formatted tracebacks. Each tuple represents a test which raised an unexpected exception.
-
failures -
A list containing 2-tuples of
TestCaseinstances and strings holding formatted tracebacks. Each tuple represents a test where a failure was explicitly signalled using theTestCase.assert*()methods.
-
skipped -
A list containing 2-tuples of
TestCaseinstances and strings holding the reason for skipping the test.New in version 3.1.
-
expectedFailures -
A list containing 2-tuples of
TestCaseinstances and strings holding formatted tracebacks. Each tuple represents an expected failure of the test case.
-
unexpectedSuccesses -
A list containing
TestCaseinstances that were marked as expected failures, but succeeded.
-
shouldStop -
Set to
Truewhen the execution of tests should stop bystop().
-
testsRun -
The total number of tests run so far.
-
buffer -
If set to true,
sys.stdoutandsys.stderrwill be buffered in betweenstartTest()andstopTest()being called. Collected output will only be echoed onto the realsys.stdoutandsys.stderrif the test fails or errors. Any output is also attached to the failure / error message.New in version 3.2.
-
failfast -
If set to true
stop()will be called on the first failure or error, halting the test run.New in version 3.2.
-
tb_locals -
If set to true then local variables will be shown in tracebacks.
New in version 3.5.
-
wasSuccessful() -
Return
Trueif all tests run so far have passed, otherwise returnsFalse.Changed in version 3.4: Returns
Falseif there were anyunexpectedSuccessesfrom tests marked with theexpectedFailure()decorator.
-
stop() -
This method can be called to signal that the set of tests being run should be aborted by setting the
shouldStopattribute toTrue.TestRunnerobjects should respect this flag and return without running any additional tests.For example, this feature is used by the
TextTestRunnerclass to stop the test framework when the user signals an interrupt from the keyboard. Interactive tools which provideTestRunnerimplementations can use this in a similar manner.
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.
-
startTest(test) -
Called when the test case test is about to be run.
-
stopTest(test) -
Called after the test case test has been executed, regardless of the outcome.
-
startTestRun() -
Called once before any tests are executed.
New in version 3.1.
-
stopTestRun() -
Called once after all tests are executed.
New in version 3.1.
-
addError(test, err) -
Called when the test case test raises an unexpected exception. err is a tuple of the form returned by
sys.exc_info():(type, value, traceback).The default implementation appends a tuple
(test, formatted_err)to the instance’serrorsattribute, where formatted_err is a formatted traceback derived from err.
-
addFailure(test, err) -
Called when the test case test signals a failure. err is a tuple of the form returned by
sys.exc_info():(type, value, traceback).The default implementation appends a tuple
(test, formatted_err)to the instance’sfailuresattribute, where formatted_err is a formatted traceback derived from err.
-
addSuccess(test) -
Called when the test case test succeeds.
The default implementation does nothing.
-
addSkip(test, reason) -
Called when the test case test is skipped. reason is the reason the test gave for skipping.
The default implementation appends a tuple
(test, reason)to the instance’sskippedattribute.
-
addExpectedFailure(test, err) -
Called when the test case test fails, but was marked with the
expectedFailure()decorator.The default implementation appends a tuple
(test, formatted_err)to the instance’sexpectedFailuresattribute, where formatted_err is a formatted traceback derived from err.
-
addUnexpectedSuccess(test) -
Called when the test case test was marked with the
expectedFailure()decorator, but succeeded.The default implementation appends the test to the instance’s
unexpectedSuccessesattribute.
-
addSubTest(test, subtest, outcome) -
Called when a subtest finishes. test is the test case corresponding to the test method. subtest is a custom
TestCaseinstance describing the subtest.If outcome is
None, the subtest succeeded. Otherwise, it failed with an exception where outcome is a tuple of the form returned bysys.exc_info():(type, value, traceback).The default implementation does nothing when the outcome is a success, and records subtest failures as normal failures.
New in version 3.4.
Please login to continue.