skip all TestCase methods if resource is not available

Currently it is possible to mark individual test methods with: test_support.requires('network') However, sometimes it is necessary to skip the whole TestCase if 'network' resource is not available counting the number of skipped tests at the same time. Are there any standard means to do this? -- anatoly t.

2010/4/1 anatoly techtonik:
Currently it is possible to mark individual test methods with: test_support.requires('network')
However, sometimes it is necessary to skip the whole TestCase if 'network' resource is not available counting the number of skipped tests at the same time. Are there any standard means to do this?
Put it in unittest.TestCase.setUp() method. It should be enough. -- Florent

On Thu, Apr 1, 2010 at 8:02 PM, Florent Xicluna <florent.xicluna@gmail.com> wrote:
2010/4/1 anatoly techtonik:
Currently it is possible to mark individual test methods with: test_support.requires('network')
However, sometimes it is necessary to skip the whole TestCase if 'network' resource is not available counting the number of skipped tests at the same time. Are there any standard means to do this?
Put it in unittest.TestCase.setUp() method. It should be enough.
It fails with error instead if skip, as it should according to http://docs.python.org/library/unittest.html#unittest.TestCase.setUp "...any exception raised by this method will be considered an error rather than a test failure..." -- anatoly t.

2010/4/1 anatoly techtonik:
On Thu, Apr 1, 2010 at 8:02 PM, Florent Xicluna wrote: (...)
Put it in unittest.TestCase.setUp() method. It should be enough.
It fails with error instead if skip, as it should according to http://docs.python.org/library/unittest.html#unittest.TestCase.setUp
"...any exception raised by this method will be considered an error rather than a test failure..." -- anatoly t.
There's a special case for the "SkipTest" exception in 2.7 (even if it is not documented). try: self.setUp() except SkipTest as e: self._addSkip(result, str(e)) except Exception: result.addError(self, sys.exc_info()) But for 2.6, you're right: try: self.setUp() except: result.addError(self, self._exc_info()) -- Florent
participants (2)
-
anatoly techtonik
-
Florent Xicluna