Commit 265281ac authored by Ezio Melotti's avatar Ezio Melotti

#17329: document unittest.SkipTest. Initial patch by Zachary Ware.

parent 7380a672
...@@ -663,7 +663,7 @@ the test unless the passed object has a certain attribute:: ...@@ -663,7 +663,7 @@ the test unless the passed object has a certain attribute::
def skipUnlessHasattr(obj, attr): def skipUnlessHasattr(obj, attr):
if hasattr(obj, attr): if hasattr(obj, attr):
return lambda func: func return lambda func: func
return unittest.skip("{0!r} doesn't have {1!r}".format(obj, attr)) return unittest.skip("{!r} doesn't have {!r}".format(obj, attr))
The following decorators implement test skipping and expected failures: The following decorators implement test skipping and expected failures:
...@@ -685,6 +685,13 @@ The following decorators implement test skipping and expected failures: ...@@ -685,6 +685,13 @@ The following decorators implement test skipping and expected failures:
Mark the test as an expected failure. If the test fails when run, the test Mark the test as an expected failure. If the test fails when run, the test
is not counted as a failure. is not counted as a failure.
.. exception:: SkipTest(reason)
This exception is raised to skip a test.
Usually you can use :meth:`TestCase.skipTest` or one of the skipping
decorators instead of raising this directly.
Skipped tests will not have :meth:`setUp` or :meth:`tearDown` run around them. Skipped tests will not have :meth:`setUp` or :meth:`tearDown` run around them.
Skipped classes will not have :meth:`setUpClass` or :meth:`tearDownClass` run. Skipped classes will not have :meth:`setUpClass` or :meth:`tearDownClass` run.
...@@ -2105,7 +2112,7 @@ then you must call up to them yourself. The implementations in ...@@ -2105,7 +2112,7 @@ then you must call up to them yourself. The implementations in
If an exception is raised during a ``setUpClass`` then the tests in the class If an exception is raised during a ``setUpClass`` then the tests in the class
are not run and the ``tearDownClass`` is not run. Skipped classes will not are not run and the ``tearDownClass`` is not run. Skipped classes will not
have ``setUpClass`` or ``tearDownClass`` run. If the exception is a have ``setUpClass`` or ``tearDownClass`` run. If the exception is a
``SkipTest`` exception then the class will be reported as having been skipped :exc:`SkipTest` exception then the class will be reported as having been skipped
instead of as an error. instead of as an error.
...@@ -2122,7 +2129,7 @@ These should be implemented as functions:: ...@@ -2122,7 +2129,7 @@ These should be implemented as functions::
If an exception is raised in a ``setUpModule`` then none of the tests in the If an exception is raised in a ``setUpModule`` then none of the tests in the
module will be run and the ``tearDownModule`` will not be run. If the exception is a module will be run and the ``tearDownModule`` will not be run. If the exception is a
``SkipTest`` exception then the module will be reported as having been skipped :exc:`SkipTest` exception then the module will be reported as having been skipped
instead of as an error. instead of as an error.
......
...@@ -23,7 +23,7 @@ class SkipTest(Exception): ...@@ -23,7 +23,7 @@ class SkipTest(Exception):
""" """
Raise this exception in a test to skip it. Raise this exception in a test to skip it.
Usually you can use TestResult.skip() or one of the skipping decorators Usually you can use TestCase.skipTest() or one of the skipping decorators
instead of raising this directly. instead of raising this directly.
""" """
......
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