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 Deferred
s
from tests and fixture methods and to have the suite wait for those
Deferred
s 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'.
log.err
.
Instance Variables | failureException | An 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.
|
skip | None 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).
| |
suppress | None 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 .
| |
timeout | None or a real number of seconds. If set, the test will
raise an error if it takes longer than timeout seconds.
| |
todo | None , 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.
| |
_suppressUpDownWarning | Private 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.
|
Method | __init__ | Construct an asynchronous test case for methodName .
|
Method | __eq__ | Undocumented |
Method | __ne__ | Undocumented |
Method | shortDescription | Return a short description of the test. |
Method | __call__ | Run the test. Should always do exactly the same thing as run(). |
Method | deferSetUpClass | Run the per-class set up fixture, setUpClass , for this test
case.
|
Method | deferSetUp | Undocumented |
Method | deferTestMethod | Undocumented |
Method | deferTearDown | Undocumented |
Method | deferRunCleanups | Run any scheduled cleanups and report errors (if any to the result object. |
Method | deferTearDownClass | Run the per-class tear down fixture, tearDownClass , for
this test case.
|
Method | flushLoggedErrors | Remove stored errors received from the log. |
Method | flushWarnings | Remove stored warnings from the list of captured warnings and return them. |
Method | addCleanup | Add the given function to a list of functions to be called after the
test has run, but before tearDown .
|
Method | callDeprecated | Call a function that was deprecated at a specific version. |
Method | patch | Monkey patch an object for the duration of the test. |
Method | runTest | If no methodName argument is passed to the constructor, run will
treat this method as the thing with the actual test inside.
|
Method | run | Run the test case, storing the results in result .
|
Method | getSkip | No summary |
Method | getTodo | No summary |
Method | getTimeout | No summary |
Method | getSuppress | No summary |
Method | visit | Visit this test case. Call visitor with self
as a parameter.
|
Method | mktemp | Returns a unique name that may be used as either a temporary directory or filename. |
Class Method | _initInstances | Undocumented |
Method | _isFirst | Undocumented |
Method | _isLast | Undocumented |
Method | _prepareClassFixture | No summary |
Method | _run | Undocumented |
Method | _ebDeferSetUpClass | Undocumented |
Method | _ebDeferSetUp | Undocumented |
Method | _cbDeferTestMethod | Undocumented |
Method | _ebDeferTestMethod | Undocumented |
Method | _ebDeferTearDown | Undocumented |
Method | _cbDeferRunCleanups | Undocumented |
Method | _ebTearDownClass | Undocumented |
Method | _cleanUp | Undocumented |
Method | _classCleanUp | Undocumented |
Method | _makeReactorMethod | Create a method which wraps the reactor method name . The
new method issues a deprecation warning and calls the original.
|
Method | _deprecateReactor | 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.
|
Method | _undeprecateReactor | Restore the deprecated reactor methods. Undoes what _deprecateReactor
did.
|
Method | _installObserver | Undocumented |
Method | _removeObserver | Undocumented |
Method | _runCleanups | Run the cleanups added with addCleanup
in order.
|
Method | _getReason | Undocumented |
Method | _wait | Take a Deferred that only ever callbacks. Block until it happens. |
Inherited from _Assertions:
Method | fail | Absolutely fail the test. Do not pass go, do not collect $200. |
Method | failIf | Fail the test if condition evaluates to True.
|
Method | failUnless | Fail the test if condition evaluates to False.
|
Method | failUnlessRaises | Fail the test unless calling the function f with the given
args and kwargs raises exception .
The failure will report the traceback and call stack of the unexpected
exception.
|
Method | failUnlessEqual | Fail the test if first and second are not
equal.
|
Method | failUnlessIdentical | Fail the test if first is not second . This is
an obect-identity-equality test, not an object equality (i.e.
__eq__ ) test.
|
Method | failIfIdentical | Fail the test if first is second . This is an
obect-identity-equality test, not an object equality (i.e.
__eq__ ) test.
|
Method | failIfEqual | Fail the test if first == second .
|
Method | failUnlessIn | Fail the test if containee is not found in
container .
|
Method | failIfIn | Fail the test if containee is found in
container .
|
Method | failIfAlmostEqual | Fail if the two objects are equal as determined by their difference rounded to the given number of decimal places (default 7) and comparing to zero. |
Method | failUnlessAlmostEqual | Fail if the two objects are unequal as determined by their difference rounded to the given number of decimal places (default 7) and comparing to zero. |
Method | failUnlessApproximates | Fail if first - second >
tolerance
|
Method | failUnlessFailure | Fail if deferred does not errback with one of
expectedFailures . Returns the original Deferred with callbacks
added. You will need to return this Deferred from your test case.
|
Method | failUnlessSubstring | Fail if substring does not exist within
astring .
|
Method | failIfSubstring | Fail if astring contains substring .
|
Method | failUnlessWarns | Fail if the given function doesn't generate the specified warning when called. It calls the function, checks the warning, and forwards the result of the function if everything is fine. |
Method | failUnlessIsInstance | Fail if instance is not an instance of the given class or
of one of the given classes.
|
Method | failIfIsInstance | Fail if instance is not an instance of the given class or
of one of the given classes.
|
methodName
.
Parameters | methodName | The 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.
|
Run the per-class set up fixture, setUpClass
, for this test
case.
Parameters | result | The result which will be used to report any problems encountered in
setUpClass .
(type: IReporter
provider
) |
Returns | A Deferred which
will fire with the result of setUpClass or with
None if there is no setUpClass defined.
|
Run the per-class tear down fixture, tearDownClass
, for
this test case.
tearDownClass
method.
Parameters | ignored | An ignored parameter. |
result | The result which will be used to report any problems encountered in
tearDownClass .
(type: IReporter
provider
) | |
Returns | A Deferred which
will fire with the result of tearDownClass .
|
name
. The
new method issues a deprecation warning and calls the original.
iterate
, crash
and stop
on reactor
. That is, each method is wrapped in a function that
issues a deprecation warning, then calls the original.
Parameters | reactor | The Twisted reactor. |
_deprecateReactor
did.
Parameters | reactor | The Twisted reactor. |
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 | *errorTypes | If unspecifed, flush all errors. Otherwise, only flush errors that match the given types. |
Returns | A list of failures that have been removed. |
Parameters | offendingFunctions | If None , all warnings issued during the currently running
test will be flushed. Otherwise, only warnings which point to a
function included in this list will be flushed. All warnings include a
filename and source line number; if these parts of a warning point to a
source line which is part of a function, then the warning points to
that function.
(type: NoneType or list of functions or methods.
) |
Returns | A list , each element of which is a dict giving
information about one warning which was flushed by this call. The keys of
each dict are:
| |
Raises | ValueError | If offendingFunctions is not None and includes
an object which is not a FunctionType or
MethodType instance.
|
IOError | If the source file (.py) for one of the functions in
offendingFunctions is not available, its lines cannot be
determined and IOError will be raised. (It may be possible to
implement this function without requiring source files by using the
co_lnotab attribute of code objects.)
|
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 functionf
may return a Deferred. If so,
TestCase
will wait until the Deferred has fired before
proceeding to the next function.
Parameters | version | The version that the function was deprecated in. |
f | The deprecated function to call. | |
Returns | Whatever the function returns. |
addCleanup
in order.
Returns | A Deferred that fires when all cleanups are run.
|
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.
MonkeyPatcher
is returned so that users can restore and re-apply the monkey patch within
their tests.
Parameters | obj | The object to monkey patch. |
attribute | The name of the attribute to change. | |
value | The value to set the attribute to. | |
Returns | A monkey.MonkeyPatcher
object.
|
methodName
argument is passed to the constructor, run
will
treat this method as the thing with the actual test inside.
Run the test case, storing the results in result
.
setUp
on self, then runs the test method
(defined in the constructor), then runs tearDown
. Any of these
may return Deferred
s.
After they complete, does some reactor cleanup.
Parameters | result | A TestResult
object.
|
skip
attribute, returns that.
Returns None
if it cannot find anything. See TestCase
docstring for more details.
timeout
attribute, returns that. Returns
util.DEFAULT_TIMEOUT_DURATION
if it cannot find anything. See
TestCase
docstring for more details.
suppress
attribute, returns that.
Returns any empty list (i.e. suppress no warnings) if it cannot find
anything. See TestCase
docstring for more details.
Visit this test case. Call visitor
with self
as a parameter.
Parameters | visitor | A callable which expects a single parameter: a test case. |
Returns | None |
Note | you must call os.mkdir on the value returned from this method if you wish to use it as a directory! |