The following forum message was posted by piotr_dobrogost at http://sourceforge.net/projects/pydev/forums/forum/293649/topic/4805453:
I think PyDev's test runner should handle exceptions being raised in test cases
more gracefully than in the following example.
------------------------------------------------------------- test module
import unittest
class TestCase(unittest.TestCase):
@classmethod
def setUpClass(cls):
raise RuntimeError
def testA(self):
pass
if __name__ == '__main__':
unittest.main()
------------------------------------------------------------- output
Finding files... done.
Importing test modules ... done.
Traceback (most recent call last):
File "C:\eclipse\indigo\plugins\org.python.pydev.debug_2.2.4.2011110216\pysrc\
pydev_runfiles_unittest.py", line 55, in getTestName
test_name = test.__class__.__name__ + "." + test._TestCase__testMethodName
AttributeError: '_ErrorHolder' object has no attribute
'_TestCase__testMethodName'
Traceback (most recent call last):
File "C:\eclipse\indigo\plugins\org.python.pydev.debug_2.2.4.2011110216\pysrc\
runfiles.py", line 163, in <module>
main()
File "C:\eclipse\indigo\plugins\org.python.pydev.debug_2.2.4.2011110216\pysrc\
runfiles.py", line 77, in main
pydev_runfiles.main(configuration)
File "C:\eclipse\indigo\plugins\org.python.pydev.debug_2.2.4.2011110216\pysrc\
pydev_runfiles.py", line 583, in main
PydevTestRunner(configuration).run_tests()
File "C:\eclipse\indigo\plugins\org.python.pydev.debug_2.2.4.2011110216\pysrc\
pydev_runfiles.py", line 569, in run_tests
runner.run(test_suite)
File "C:\Program Files\Python\2.7\lib\unittest\runner.py", line 151, in run
test(result)
File "C:\Program Files\Python\2.7\lib\unittest\suite.py", line 70, in
__call__
return self.run(*args, **kwds)
File "C:\Program Files\Python\2.7\lib\unittest\suite.py", line 108, in run
test(result)
File "C:\Program Files\Python\2.7\lib\unittest\suite.py", line 70, in
__call__
return self.run(*args, **kwds)
File "C:\Program Files\Python\2.7\lib\unittest\suite.py", line 108, in run
test(result)
File "C:\Program Files\Python\2.7\lib\unittest\suite.py", line 70, in
__call__
return self.run(*args, **kwds)
File "C:\Program Files\Python\2.7\lib\unittest\suite.py", line 100, in run
self._handleClassSetUp(test, result)
File "C:\Program Files\Python\2.7\lib\unittest\suite.py", line 153, in
_handleClassSetUp
self._addClassOrModuleLevelException(result, e, errorName)
File "C:\Program Files\Python\2.7\lib\unittest\suite.py", line 198, in
_addClassOrModuleLevelException
result.addError(error, sys.exc_info())
File "C:\eclipse\indigo\plugins\org.python.pydev.debug_2.2.4.2011110216\pysrc\
pydev_runfiles_unittest.py", line 112, in addError
self._reportErrors([self.errors[-1]], [], '', self.getTestName(test))
File "C:\eclipse\indigo\plugins\org.python.pydev.debug_2.2.4.2011110216\pysrc\
pydev_runfiles_unittest.py", line 96, in _reportErrors
'error', captured_output, error_contents, test.__pydev_pyfile__, test_name,
diff_time)
AttributeError: '_ErrorHolder' object has no attribute '__pydev_pyfile__'
|