Fixturespython
fixtures能夠形象地把它看做是夾心餅乾外層的兩片餅乾,這兩片餅乾就是setUp/tearDown,中間的心就是測試用例。除此以外,unittest還提供了更大範圍的fixtures,例如對於測試類和模塊的fixtures。測試
#test.py
#coding:utf-8
import unittest
def setUpModule():
print ("test module start >>>>>>>>>>")
def tearDownMoudle():
print ("test module end >>>>>>>>>>")
class Test(unittest.TestCase):
@classmethod
def setUpClass(cls):
print("test class start >>>>>>>>>>")
@classmethod
def tearDownClass(cls):
print("test class end >>>>>>>>>>")
def setUp(self):
print ("test case start >>>>>>>>>")
def tearDown(self):
print ("test case end >>>>>>>>>>")
def testcase(self):
print ("test case1")
def testcase2(self):
print ("test case2")
if __name__=="__main__":
unittest.main()
執行結果以下圖所示:spa
setUpMoudule/tearDownMoudule:在整個模塊的開始與結束時被執行。
setUpClass/tearDownClass:在測試類的開始與結束時被執行。
setUp/tearDown:在測試用例的開始與結束時被執行。blog
須要注意的是setUpClass/tearDownClass須要經過@classmethod進行裝飾,其次方法的參數爲cls。其實,cls與self並無什麼特別之處,都只表示類方法的第一個參數。utf-8