From 265281ac02d4ab82a8acdd38a1c38c4ecd9ce60d Mon Sep 17 00:00:00 2001 From: Ezio Melotti Date: Wed, 27 Mar 2013 20:11:55 +0200 Subject: [PATCH] #17329: document unittest.SkipTest. Initial patch by Zachary Ware. --- Doc/library/unittest.rst | 13 ++++++++++--- Lib/unittest/case.py | 2 +- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/Doc/library/unittest.rst b/Doc/library/unittest.rst index 53013d72663..b3372f99bb5 100644 --- a/Doc/library/unittest.rst +++ b/Doc/library/unittest.rst @@ -663,7 +663,7 @@ the test unless the passed object has a certain attribute:: def skipUnlessHasattr(obj, attr): if hasattr(obj, attr): 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: @@ -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 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 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 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 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. @@ -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 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. diff --git a/Lib/unittest/case.py b/Lib/unittest/case.py index bea810711db..0ef3de7d6cd 100644 --- a/Lib/unittest/case.py +++ b/Lib/unittest/case.py @@ -23,7 +23,7 @@ class SkipTest(Exception): """ 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. """