我目前有幾個單元測試共享一組通用測試。這裏有一個例子:基本和子類的Python單元測試
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
有沒有辦法改寫的上方,正好是第一testCommon
不叫?
編輯: 而是上面跑5次測試,我希望它只能運行4次測試,2從SubTest1另有2從SubTest2。 Python單元測試似乎是自己運行原始的BaseTest,我需要一種機制來防止這種情況的發生。
我看到沒有人提到它,但是您是否可以選擇更改主要部分並運行包含BaseTest所有子類的測試套件? – 2015-09-27 04:28:49