import unittest
class A(unittest.TestCase):
def setUp(self):
print "Hi it's you",self._testMethodName
def test_one(self):
self.assertEqual(5,5)
def tearDown(self):
print "Bye it's you", self._testMethodName
class B(A,unittest.TestCase):
def setUp(self):
print "Hi it's me", self._testMethodName
def test_two(self):
self.assertNotEqual(5,5)
unittest.main()
Output :
Hi it's you test_one
Bye it's you test_one
.Hi it's me test_one
Bye it's you test_one
.Hi it's me test_two
FBye it's you test_two
======================================================================
FAIL: test_two (__main__.B)
----------------------------------------------------------------------
Traceback (most recent call last):
File "try_test_generators.py", line 19, in test_two
self.assertNotEqual(5,5)
AssertionError: 5 == 5
----------------------------------------------------------------------
Ran 3 tests in 0.005s
FAILED (failures=1)
In the above code, the test case test_one
is using the setUp()
of class A. However in the derived class test_one
is using the setUp()
of class B. Is there a way by which I can use the setUp()
of A for every test case derived from it??.
Just make sure to call super, in every child class where you've overridden it.
class B(A, unittest.TestCase):
def setUp(self):
print "Hi it's me", self._testMethodName
super(B, self).setUp()
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With