Tôi hiện có một vài bài kiểm tra đơn vị chia sẻ một bộ bài kiểm tra chung. Đây là một ví dụ:
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()
Đầu ra của ở trên là:
Calling BaseTest:testCommon
.Calling BaseTest:testCommon
.Calling SubTest1:testSub1
.Calling BaseTest:testCommon
.Calling SubTest2:testSub2
.
----------------------------------------------------------------------
Ran 5 tests in 0.000s
OK
Có cách nào để viết lại ở trên để cái đầu tiên testCommon
không được gọi không?
EDIT: Thay vì chạy 5 thử nghiệm ở trên, tôi muốn nó chỉ chạy 4 thử nghiệm, 2 từ SubTest1 và 2 thử nghiệm khác từ SubTest2. Có vẻ như Python unittest đang tự chạy BaseTest ban đầu và tôi cần một cơ chế để ngăn điều đó xảy ra.