twisted.trial.unittestView Source (View In Hierarchy)
Known subclasses: twisted.trial.unittest.TestCase
A unit test. The atom of the unit testing universe.
This class extends
unittest.TestCase from the standard library. A number of convenient testing helpers are added, including logging and warning integration, monkey-patching support, and more.
To write a unit test, subclass
SynchronousTestCase 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
trial script will automatically find any
SynchronousTestCase 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
|Instance Variable||failureException||An exception class, defaulting to
|Method||run||Run the test case, storing the results in
|Method||addCleanup||Add the given function to a list of functions to be called after the test has run, but before
|Method||patch||Monkey patch an object for the duration of the test.|
|Method||flushLoggedErrors||Remove stored errors received from the log.|
|Method||flushWarnings||Remove stored warnings from the list of captured warnings and return them.|
|Method||callDeprecated||Call a function that should have been deprecated at a specific version and in favor of a specific alternative, and assert that it was thusly deprecated.|
|Method||mktemp||Create a new path name which can be used for a new file or directory.|
|Method||_getSkipReason||Return the reason to use for skipping a test method.|
|Method||_run||Run a single method, either a test method or fixture.|
|Method||_runCleanups||Synchronously run any cleanups which have been added.|
Inherited from _Assertions:
|Method||fail||Absolutely fail the test. Do not pass go, do not collect $200.|
|Method||assertFalse||Fail the test if
|Method||assertTrue||Fail the test if
|Method||assertRaises||Fail the test unless calling the function
|Method||assertEqual||Fail the test if
|Method||assertIs||Fail the test if
|Method||assertIsNot||Fail the test if
|Method||assertNotEqual||Fail the test if
|Method||assertIn||Fail the test if
|Method||assertNotIn||Fail the test if
|Method||assertNotAlmostEqual||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||assertAlmostEqual||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||assertWarns||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||successResultOf||Return the current success result of
|Method||failureResultOf||Return the current failure result of
|Method||assertRegex||Fail the test if a
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.
Noneor 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
Override the comparison defined by the base TestCase which considers instances of the same class with the same _testMethodName to be equal. Since trial puts TestCase instances into a set, that definition of comparison makes it impossible to run the same test method twice. Most likely, trial should stop using a set to hold tests, but until it does, this is necessary on Python 2.6. -exarkun
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
setUp on self, then runs the test method (defined in the constructor), then runs
tearDown. As with the standard library
unittest.TestCase, the return value of these methods is disregarded. In particular, returning a
Deferred has no special additional consequences.
Add the given function to a list of functions to be called after the test has run, but before
Functions will be run in reverse order of being added. This helps ensure that tear down complements set up.
As with all aspects of
SynchronousTestCase, Deferreds are not supported in cleanup functions.
Monkey patch an object for the duration of the test.
The monkey patch will be reverted at the end of the test using the
monkey.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.|
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
|Parameters||*errorTypes||If unspecified, flush all errors. Otherwise, only flush errors that match the given types.|
|Returns||A list of failures that have been removed.|
Remove stored warnings from the list of captured warnings and return them.
Call a function that should have been deprecated at a specific version and in favor of a specific alternative, and assert that it was thusly deprecated.
|Parameters||version||A 2-sequence of (since, replacement), where |
|f||The deprecated function to call.|
|args||The arguments to pass to |
|kwargs||The keyword arguments to pass to |
|FailTest||if no warnings were emitted by |
Create a new path name which can be used for a new file or directory.
The result is a relative path that is guaranteed to be unique within the current working directory. The parent of the path will exist, but the path will not.
For a temporary directory call os.mkdir on the path. For a temporary file just create the file (e.g. by opening the path for writing and then closing it).
|Returns||The newly created path (type: |
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.
Return the reason to use for skipping a test method.
|Parameters||method||The method which produced the skip.|
Run a single method, either a test method or fixture.
|Parameters||suppress||Any warnings to suppress, as defined by the |
|todo||Any expected failure or failures, as defined by the |
|method||The method to run.|
|result||The TestResult instance to which to report results.|
setUp, a test method, test cleanups, and
|Parameters||result||The TestResult instance to which to report results.|
Synchronously run any cleanups which have been added.