Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import unittest
- class BaseTest(unittest.TestCase):
- def testCommon(self):
- print 'Calling BaseTest:testCommon'
- value = 5
- self.assertEquals(value, 5)
- class SubTest1(BaseTest):
- def testSub1(self):
- print 'Calling SubTest1:testSub1'
- sub = 3
- self.assertEquals(sub, 3)
- class SubTest2(BaseTest):
- def testSub2(self):
- print 'Calling SubTest2:testSub2'
- sub = 4
- self.assertEquals(sub, 4)
- if __name__ == '__main__':
- unittest.main()
- Calling BaseTest:testCommon
- .Calling BaseTest:testCommon
- .Calling SubTest1:testSub1
- .Calling BaseTest:testCommon
- .Calling SubTest2:testSub2
- .
- ----------------------------------------------------------------------
- Ran 5 tests in 0.000s
- OK
- import unittest
- class CommonTests(object):
- def testCommon(self):
- print 'Calling BaseTest:testCommon'
- value = 5
- self.assertEquals(value, 5)
- class SubTest1(unittest.TestCase, CommonTests):
- def testSub1(self):
- print 'Calling SubTest1:testSub1'
- sub = 3
- self.assertEquals(sub, 3)
- class SubTest2(unittest.TestCase, CommonTests):
- def testSub2(self):
- print 'Calling SubTest2:testSub2'
- sub = 4
- self.assertEquals(sub, 4)
- if __name__ == '__main__':
- unittest.main()
- import unittest
- class CommonTests(unittest.TestCase):
- def common_assertion(self, foo, bar, baz):
- # whatever common code
- self.assertEqual(foo(bar), baz)
- class BaseTest(CommonTests):
- def testCommon(self):
- print 'Calling BaseTest:testCommon'
- value = 5
- self.assertEquals(value, 5)
- class SubTest1(CommonTests):
- def testSub1(self):
- print 'Calling SubTest1:testSub1'
- sub = 3
- self.assertEquals(sub, 3)
- class SubTest2(CommonTests):
- def testSub2(self):
- print 'Calling SubTest2:testSub2'
- sub = 4
- self.assertEquals(sub, 4)
- if __name__ == '__main__':
- unittest.main()
- class BaseTest(unittest.TestCase):
- @classmethod
- def setUpClass(cls):
- if cls is BaseTest:
- raise unittest.SkipTest("Skip BaseTest tests, it's a base class")
- super(BaseTest, cls).setUpClass()
- def skipBaseTest(obj):
- if type(obj) is BaseTest:
- return unittest.skip("BaseTest tests skipped")
- return lambda func: func
- del(BaseTest)
- import unittest
- class BaseTest(unittest.TestCase):
- def testCommon(self):
- print 'Calling BaseTest:testCommon'
- value = 5
- self.assertEquals(value, 5)
- class SubTest1(BaseTest):
- def testSub1(self):
- print 'Calling SubTest1:testSub1'
- sub = 3
- self.assertEquals(sub, 3)
- class SubTest2(BaseTest):
- def testSub2(self):
- print 'Calling SubTest2:testSub2'
- sub = 4
- self.assertEquals(sub, 4)
- del(BaseTest)
- if __name__ == '__main__':
- unittest.main()
- class BaseTest(unittest.TestCase):
- @classmethod
- def setUpClass(cls):
- cls._test_methods = []
- if cls is BaseTest:
- for name in dir(cls):
- if name.startswith('test') and callable(getattr(cls, name)):
- cls._test_methods.append((name, getattr(cls, name)))
- setattr(cls, name, lambda self: None)
- @classmethod
- def tearDownClass(cls):
- if cls is BaseTest:
- for name, method in cls._test_methods:
- setattr(cls, name, method)
- cls._test_methods = []
- class BaseTest(unittest.TestCase):
- def setUp(self):
- print 'Calling BaseTest:testCommon'
- value = 5
- self.assertEquals(value, 5)
- class SubTest1(BaseTest):
- def testSub1(self):
- print 'Calling SubTest1:testSub1'
- sub = 3
- self.assertEquals(sub, 3)
- class SubTest2(BaseTest):
- def testSub2(self):
- print 'Calling SubTest2:testSub2'
- sub = 4
- self.assertEquals(sub, 4)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement