Class t.t.u.TestCase(_Assertions):

Part of twisted.trial.unittest View Source View In Hierarchy

Known subclasses: twisted.trial.unittest._SubTestCase

Implements interfaces: twisted.trial.itrial.ITestCase

A unit test. The atom of the unit testing universe.

This class extends unittest.TestCase from the standard library. The main feature is the ability to return Deferreds from tests and fixture methods and to have the suite wait for those Deferreds to fire.

To write a unit test, subclass TestCase and define a method (say, 'test_foo') on the subclass. To run the test, instantiate your subclass with the name of the method, and call run on the instance, passing a TestResult object.

The trial script will automatically find any TestCase subclasses defined in modules beginning with 'test_' and construct test cases for all methods beginning with 'test'.

If an error is logged during the test run, the test will fail with an error. See log.err.
Instance VariablesfailureExceptionAn exception class, defaulting to FailTest. If the test method raises this exception, it will be reported as a failure, rather than an exception. All of the assertion methods raise this if the assertion fails.
skipNone or a string explaining why this test is to be skipped. If defined, the test will not be run. Instead, it will be reported to the result object as 'skipped' (if the TestResult supports skipping).
suppressNone or a list of tuples of (args, kwargs) to be passed to warnings.filterwarnings. Use these to suppress warnings raised in a test. Useful for testing deprecated code. See also util.suppress.
timeoutNone or a real number of seconds. If set, the test will raise an error if it takes longer than timeout seconds.
todoNone, a string or a tuple of (errors, reason) where errors is either an exception class or an iterable of exception classes, and reason is a string. See Todo or makeTodo for more information.
_suppressUpDownWarningPrivate flag used by tests for setUpClass and tearDownClass to suppress the deprecation warnings for these methods. This is necessary since the normal warning suppression mechanism does not work for these warnings. No code should use this flag aside from tests for these methods. When support for the methods is removed altogether, so should this flag be removed.

Split Table into Classes Show Methods in One Table

Line # Kind Name Docs
587 Method __init__ Construct an asynchronous test case for methodName.
669 Method shortDescription Return a short description of the test.
675 Method __call__ Run the test. Should always do exactly the same thing as run().
678 Method deferSetUpClass Run the per-class set up fixture, setUpClass, for this test case.
721 Method deferSetUp Undocumented
737 Method deferTestMethod Undocumented
769 Method deferTearDown Undocumented
780 Method deferRunCleanups Run any scheduled cleanups and report errors (if any to the result
797 Method deferTearDownClass Run the per-class tear down fixture, tearDownClass, for this test
899 Method flushLoggedErrors Remove stored errors received from the log.
914 Method addCleanup Add the given function to a list of functions to be called after the
947 Method callDeprecated Call a function that was deprecated at a specific version.
983 Method patch Monkey patch an object for the duration of the test.
1004 Method runTest If no methodName argument is passed to the constructor, run will
1011 Method run Run the test case, storing the results in result.
1071 Method getSkip Return the skip reason set on this test, if any is set. Checks on the
1081 Method getTodo Return a Todo object if the test is marked todo. Checks on the
1094 Method getTimeout Returns the timeout value set on this test. Checks on the instance
1115 Method getSuppress Returns any warning suppressions set for this test. Checks on the
1126 Method visit Visit this test case. Call visitor with self as a parameter.
1142 Method mktemp Returns a unique name that may be used as either a temporary
611 Class Method _initInstances Undocumented
616 Method _isFirst Undocumented
619 Method _isLast Undocumented
622 Method _prepareClassFixture Lots of tests assume that test methods all run in the same instance
633 Method _run Undocumented
711 Method _ebDeferSetUpClass Undocumented
728 Method _ebDeferSetUp Undocumented
748 Method _cbDeferTestMethod Undocumented
755 Method _ebDeferTestMethod Undocumented
774 Method _ebDeferTearDown Undocumented
789 Method _cbDeferRunCleanups Undocumented
827 Method _ebTearDownClass Undocumented
832 Method _cleanUp Undocumented
848 Method _classCleanUp Undocumented
854 Method _makeReactorMethod Create a method which wraps the reactor method name. The new
868 Method _deprecateReactor Deprecate iterate, crash and stop on reactor. That is,
881 Method _undeprecateReactor Restore the deprecated reactor methods. Undoes what
892 Method _installObserver Undocumented
896 Method _removeObserver Undocumented
928 Method _captureDeprecationWarnings Call f and capture all deprecation warnings.
968 Method _runCleanups Run the cleanups added with addCleanup in order.
1061 Method _getReason Undocumented
1158 Method _wait Take a Deferred that only ever callbacks. Block until it happens.

Inherited from _Assertions:

Line # Kind Name Docs
115 Method fail Absolutely fail the test. Do not pass go, do not collect $200.
124 Method failIf Fail the test if condition evaluates to True.
135 Method failUnless Fail the test if condition evaluates to False.
146 Method failUnlessRaises Fail the test unless calling the function f with the given
174 Method failUnlessEqual Fail the test if first and second are not equal.
192 Method failUnlessIdentical Fail the test if first is not second. This is an
206 Method failIfIdentical Fail the test if first is second. This is an
220 Method failIfEqual Fail the test if first == second.
232 Method failUnlessIn Fail the test if containee is not found in container.
248 Method failIfIn Fail the test if containee is found in container.
264 Method failIfAlmostEqual Fail if the two objects are equal as determined by their
283 Method failUnlessAlmostEqual Fail if the two objects are unequal as determined by their
302 Method failUnlessApproximates Fail if first - second > tolerance
314 Method failUnlessFailure Fail if deferred does not errback with one of expectedFailures.
334 Method failUnlessSubstring Fail if substring does not exist within astring.
341 Method failIfSubstring Fail if astring contains substring.
348 Method failUnlessWarns Fail if the given function doesn't generate the specified warning when
414 Method failUnlessIsInstance Fail if instance is not an instance of the given class or of
430 Method failIfIsInstance Fail if instance is not an instance of the given class or of
Line # Kind Name Docs
675 Method __call__ Run the test. Should always do exactly the same thing as run().
587 Method __init__ Construct an asynchronous test case for methodName.
914 Method addCleanup Add the given function to a list of functions to be called after the
947 Method callDeprecated Call a function that was deprecated at a specific version.
780 Method deferRunCleanups Run any scheduled cleanups and report errors (if any to the result
721 Method deferSetUp Undocumented
678 Method deferSetUpClass Run the per-class set up fixture, setUpClass, for this test case.
769 Method deferTearDown Undocumented
797 Method deferTearDownClass Run the per-class tear down fixture, tearDownClass, for this test
737 Method deferTestMethod Undocumented
115 Method fail Absolutely fail the test. Do not pass go, do not collect $200.
124 Method failIf Fail the test if condition evaluates to True.
264 Method failIfAlmostEqual Fail if the two objects are equal as determined by their
220 Method failIfEqual Fail the test if first == second.
206 Method failIfIdentical Fail the test if first is second. This is an
248 Method failIfIn Fail the test if containee is found in container.
430 Method failIfIsInstance Fail if instance is not an instance of the given class or of
341 Method failIfSubstring Fail if astring contains substring.
135 Method failUnless Fail the test if condition evaluates to False.
283 Method failUnlessAlmostEqual Fail if the two objects are unequal as determined by their
302 Method failUnlessApproximates Fail if first - second > tolerance
174 Method failUnlessEqual Fail the test if first and second are not equal.
314 Method failUnlessFailure Fail if deferred does not errback with one of expectedFailures.
192 Method failUnlessIdentical Fail the test if first is not second. This is an
232 Method failUnlessIn Fail the test if containee is not found in container.
414 Method failUnlessIsInstance Fail if instance is not an instance of the given class or of
146 Method failUnlessRaises Fail the test unless calling the function f with the given
334 Method failUnlessSubstring Fail if substring does not exist within astring.
348 Method failUnlessWarns Fail if the given function doesn't generate the specified warning when
899 Method flushLoggedErrors Remove stored errors received from the log.
1071 Method getSkip Return the skip reason set on this test, if any is set. Checks on the
1115 Method getSuppress Returns any warning suppressions set for this test. Checks on the
1094 Method getTimeout Returns the timeout value set on this test. Checks on the instance
1081 Method getTodo Return a Todo object if the test is marked todo. Checks on the
1142 Method mktemp Returns a unique name that may be used as either a temporary
983 Method patch Monkey patch an object for the duration of the test.
1011 Method run Run the test case, storing the results in result.
1004 Method runTest If no methodName argument is passed to the constructor, run will
669 Method shortDescription Return a short description of the test.
1126 Method visit Visit this test case. Call visitor with self as a parameter.
928 Method _captureDeprecationWarnings Call f and capture all deprecation warnings.
789 Method _cbDeferRunCleanups Undocumented
748 Method _cbDeferTestMethod Undocumented
848 Method _classCleanUp Undocumented
832 Method _cleanUp Undocumented
868 Method _deprecateReactor Deprecate iterate, crash and stop on reactor. That is,
728 Method _ebDeferSetUp Undocumented
711 Method _ebDeferSetUpClass Undocumented
774 Method _ebDeferTearDown Undocumented
755 Method _ebDeferTestMethod Undocumented
827 Method _ebTearDownClass Undocumented
1061 Method _getReason Undocumented
611 Class Method _initInstances Undocumented
892 Method _installObserver Undocumented
616 Method _isFirst Undocumented
619 Method _isLast Undocumented
854 Method _makeReactorMethod Create a method which wraps the reactor method name. The new
622 Method _prepareClassFixture Lots of tests assume that test methods all run in the same instance
896 Method _removeObserver Undocumented
633 Method _run Undocumented
968 Method _runCleanups Run the cleanups added with addCleanup in order.
881 Method _undeprecateReactor Restore the deprecated reactor methods. Undoes what
1158 Method _wait Take a Deferred that only ever callbacks. Block until it happens.
def __init__(self, methodName='runTest'): (source)
Construct an asynchronous test case for methodName.
ParametersmethodNameThe name of a method on self. This method should be a unit test. That is, it should be a short method that calls some of the assert* methods. If methodName is unspecified, runTest will be used as the test method. This is mostly useful for testing Trial.
@classmethod
def _initInstances(cls): (source)
Undocumented
def _isFirst(self): (source)
Undocumented
def _isLast(self): (source)
Undocumented
def _prepareClassFixture(self): (source)
Lots of tests assume that test methods all run in the same instance of TestCase. This isn't true. Calling this method ensures that self.__class__._testCaseInstance contains an instance of this class that will remain the same for all tests from this class.
def _run(self, methodName, result): (source)
Undocumented
def shortDescription(self): (source)
Return a short description of the test.
def __call__(self, *args, **kwargs): (source)
Run the test. Should always do exactly the same thing as run().
def deferSetUpClass(self, result): (source)

Run the per-class set up fixture, setUpClass, for this test case.

This must be called only once per TestCase subclass, since it will run the fixture unconditionally.
ParametersresultThe result which will be used to report any problems encountered in setUpClass. (type: IReporter provider )
ReturnsA Deferred which will fire with the result of setUpClass or with None if there is no setUpClass defined.
def _ebDeferSetUpClass(self, error, result): (source)
Undocumented
def deferSetUp(self, ignored, result): (source)
Undocumented
def _ebDeferSetUp(self, failure, result): (source)
Undocumented
def deferTestMethod(self, ignored, result): (source)
Undocumented
def _cbDeferTestMethod(self, ignored, result): (source)
Undocumented
def _ebDeferTestMethod(self, f, result): (source)
Undocumented
def deferTearDown(self, ignored, result): (source)
Undocumented
def _ebDeferTearDown(self, failure, result): (source)
Undocumented
def deferRunCleanups(self, ignored, result): (source)
Run any scheduled cleanups and report errors (if any to the result object.
def _cbDeferRunCleanups(self, cleanupResults, result): (source)
Undocumented
def deferTearDownClass(self, ignored, result): (source)

Run the per-class tear down fixture, tearDownClass, for this test case.

This must be called only once per TestCase subclass, since it will run the fixture unconditionally. This must not be called if there is no tearDownClass method.
ParametersignoredAn ignored parameter.
resultThe result which will be used to report any problems encountered in tearDownClass. (type: IReporter provider )
ReturnsA Deferred which will fire with the result of tearDownClass.
def _ebTearDownClass(self, error, result): (source)
Undocumented
def _cleanUp(self, result): (source)
Undocumented
def _classCleanUp(self, result): (source)
Undocumented
def _makeReactorMethod(self, name): (source)
Create a method which wraps the reactor method name. The new method issues a deprecation warning and calls the original.
def _deprecateReactor(self, reactor): (source)
Deprecate iterate, crash and stop on reactor. That is, each method is wrapped in a function that issues a deprecation warning, then calls the original.
ParametersreactorThe Twisted reactor.
def _undeprecateReactor(self, reactor): (source)
Restore the deprecated reactor methods. Undoes what _deprecateReactor did.
ParametersreactorThe Twisted reactor.
def _installObserver(self): (source)
Undocumented
def _removeObserver(self): (source)
Undocumented
def flushLoggedErrors(self, *errorTypes): (source)

Remove stored errors received from the log.

TestCase stores each error logged during the run of the test and reports them as errors during the cleanup phase (after tearDown).
Parameters*errorTypesIf unspecifed, flush all errors. Otherwise, only flush errors that match the given types.
ReturnsA list of failures that have been removed.
def addCleanup(self, f, *args, **kwargs): (source)

Add the given function to a list of functions to be called after the test has run, but before tearDown.

Functions will be run in reverse order of being added. This helps ensure that tear down complements set up.

The function f may return a Deferred. If so, TestCase will wait until the Deferred has fired before proceeding to the next function.
def _captureDeprecationWarnings(self, f, *args, **kwargs): (source)
Call f and capture all deprecation warnings.
def callDeprecated(self, version, f, *args, **kwargs): (source)
Call a function that was deprecated at a specific version.
ParametersversionThe version that the function was deprecated in.
fThe deprecated function to call.
ReturnsWhatever the function returns.
def _runCleanups(self): (source)
Run the cleanups added with addCleanup in order.
ReturnsA Deferred that fires when all cleanups are run.
def patch(self, obj, attribute, value): (source)

Monkey patch an object for the duration of the test.

The monkey patch will be reverted at the end of the test using the addCleanup mechanism.

The MonkeyPatcher is returned so that users can restore and re-apply the monkey patch within their tests.
ParametersobjThe object to monkey patch.
attributeThe name of the attribute to change.
valueThe value to set the attribute to.
ReturnsA monkey.MonkeyPatcher object.
def runTest(self): (source)
If no methodName argument is passed to the constructor, run will treat this method as the thing with the actual test inside.
def run(self, result): (source)

Run the test case, storing the results in result.

First runs setUp on self, then runs the test method (defined in the constructor), then runs tearDown. Any of these may return Deferreds. After they complete, does some reactor cleanup.
ParametersresultA TestResult object.
def _getReason(self, f): (source)
Undocumented
def getSkip(self): (source)
Return the skip reason set on this test, if any is set. Checks on the instance first, then the class, then the module, then packages. As soon as it finds something with a skip attribute, returns that. Returns None if it cannot find anything. See TestCase docstring for more details.
def getTodo(self): (source)
Return a Todo object if the test is marked todo. Checks on the instance first, then the class, then the module, then packages. As soon as it finds something with a todo attribute, returns that. Returns None if it cannot find anything. See TestCase docstring for more details.
def getTimeout(self): (source)
Returns the timeout value set on this test. Checks on the instance first, then the class, then the module, then packages. As soon as it finds something with a timeout attribute, returns that. Returns util.DEFAULT_TIMEOUT_DURATION if it cannot find anything. See TestCase docstring for more details.
def getSuppress(self): (source)
Returns any warning suppressions set for this test. Checks on the instance first, then the class, then the module, then packages. As soon as it finds something with a suppress attribute, returns that. Returns any empty list (i.e. suppress no warnings) if it cannot find anything. See TestCase docstring for more details.
def visit(self, visitor): (source)

Visit this test case. Call visitor with self as a parameter.

Deprecated in Twisted 8.0.
ParametersvisitorA callable which expects a single parameter: a test case.
ReturnsNone
def mktemp(self): (source)
Returns a unique name that may be used as either a temporary directory or filename.
Noteyou must call os.mkdir on the value returned from this method if you wish to use it as a directory!
def _wait(self, d, running=_wait_is_running): (source)
Take a Deferred that only ever callbacks. Block until it happens.
API Documentation for Twisted, generated by pydoctor at 2008-10-26 16:12:37.