python--setUp()和tearDown()應(yīng)用

setUp:表示前置條件,它在每一個用例執(zhí)行之前必須會執(zhí)行一次
setUp可以理解為我們需要自動化測試時,需要打開網(wǎng)頁窗口,輸入對應(yīng)測試地址,這一些屬于前置條件。
tearDown:表示釋放資源,它在每次用例執(zhí)行完之后會執(zhí)行一次
tearDown可以理解為我們測試完畢后,需要關(guān)閉瀏覽器。

以下示例演示setUp和tearDown的執(zhí)行順序:

#coding:utf-8
import unittest
class Xseq(unittest.TestCase):
def setUp(self):
print "前置測試條件"
def tearDown(self):
print "結(jié)束測試條件"
def testadd(self):
print '1+1=',1+1
def testsub2(self):
print '3-2=',3-2
def testsub1(self):
print '3-3=',3-3
def mul(self):
print '3*1',3*1
if __name__=="__main__":
unittest.main()

運行結(jié)果為:



由此可看到運行的順序:

  1. 每次執(zhí)行函數(shù)方法時,必須先執(zhí)行一次setUp()函數(shù),執(zhí)行完一個函數(shù)方法后,必須再執(zhí)行一次tearDown()函數(shù)
  2. 執(zhí)行函數(shù)的時候有序號時,例如testxx1,testxx2 會根據(jù)序號來進行執(zhí)行
  3. 當(dāng)函數(shù)方法不是以test開頭是,不執(zhí)行該方法。

若我想要改變setUp()在所有用例執(zhí)行之前只執(zhí)行一次,和tearDown()函數(shù)在所有用例執(zhí)行之后只執(zhí)行一次的話

  1. 需要使用python中的@classmethod內(nèi)置裝飾器
  2. 需要把函數(shù)名改為setUpClass(cls) / tearDownClass(cls)

以下為示例:

#coding:utf-8
import unittest
class Xseq(unittest.TestCase):
@classmethod
def setUpClass(cls):
print "前置測試條件"
@classmethod
def tearDownClass(cls):
print "結(jié)束測試條件"
def testadd(self):
print '1+1=',1+1
def testsub2(self):
print '3-2=',3-2
def testsub1(self):
print '3-3=',3-3
def mul(self):
print '3*1',3*1
if __name__=="__main__":
unittest.main()

運行結(jié)果為:


?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容