Hi all ;)
I work with this ticket: 29024 <https://code.djangoproject.com/ticket/29024>.
I changed decorate_class function in TextContextDecorator
<https://github.com/django/django/blob/master/django/test/utils.py#L313>:
def setUp(inner_self):
context = self.enable()
if self.attr_name:
setattr(inner_self, self.attr_name, context)
try:
decorated_setUp(inner_self)
except:
self.disable()
raise Exception
I have to test it, so I tried something like this:
class TestContextDecoratorImplementation(TestContextDecorator):
some_var = False
def enable(self):
self.__class__.some_var = True
def disable(self):
self.__class__.some_var = False
class TestContextDecoratorTests(SimpleTestCase):
def test_disable_method_after_exception(self):
@TestContextDecoratorImplementation()
class TestWithException(unittest.TestCase):
def setUp(self):
raise Exception("HIDE THIS")
def test_var_is_true(self):
self.assertTrue(TestContextDecoratorImplementation.some_var)
class SimpleTest(unittest.TestCase):
def test_var_is_false(self):
self.assertFalse(TestContextDecoratorImplementation.some_var)
runTest = lambda test: unittest.TextTestRunner().run(test)
result = runTest(TestWithException('test_var_is_true'))
self.assertEqual(result.testsRun, 1)
self.assertEqual(len(result.errors), 1)
result = runTest(SimpleTest('test_var_is_false'))
self.assertEqual(result.testsRun, 1)
self.assertEqual(len(result.failures), 0)
but I can`t remove exceptions from logs:
System check identified no issues (0 silenced).
E
======================================================================
ERROR: test_var_is_true
(test_utils.tests.TestContextDecoratorTests.test_disable_method_after_exception.<locals>.TestWithException)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/pluto/git/django/django/django/test/utils.py", line 351, in
setUp
decorated_setUp(inner_self)
File "/home/pluto/git/django/django/tests/test_utils/tests.py", line
1244, in setUp
raise Exception("HIDE THIS")
Exception: HIDE THIS
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/pluto/git/django/django/django/test/utils.py", line 354, in
setUp
raise Exception
Exception
----------------------------------------------------------------------
Ran 1 test in 0.000s
FAILED (errors=1)
.
----------------------------------------------------------------------
Ran 1 test in 0.000s
OK
.
----------------------------------------------------------------------
Ran 1 test in 0.001s
OK
How can I hide it? Or what is good way to test this class?
Regards :D
--
You received this message because you are subscribed to the Google Groups
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit
https://groups.google.com/d/msgid/django-users/69e80b65-c604-45cf-b48b-e46200d56780%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.