unittest使用,具體使用方式能夠查看unittest官網,如下簡單作個介紹,在工做中使用最多的python
#
第一步:
建立unittest類,且必定要繼承unittest.TestCase框架
class MytestDemo(unittest.TestCase):
第二步:
建立你要運行的方法,且必定是用test開頭,unittest是檢測test開頭就會認爲有運行方法,若是不用test開頭就不用
post
def test_show(): print(運行成功)
第三步:
運行,使用main入口
測試
if __name__ == '__main__': unittest.main()
好了至此,你就已是使用unittest框架了ui
可是這樣其實在工做中不能知足咱們,咱們在執行測試方法前都會作一些前置條件,依賴於unittest中的幾個方法編碼
在類中,添加,setUp (前置方法,每次運行方法時就會運行),tearDown(運行完後的後置處理,每一個方法運行時就會運行)setUpClass(第一次運行類時,開始運行)url
#coding=utf-8 import unittest import requests class MytestDemo(unittest.TestCase): ''' http: // www.kuaidi100.com / query?type = 快遞公司代號 & postid = 快遞單號 測試用例 ps:快遞公司編碼:申通 = "shentong" EMS = "ems" 順豐 = "shunfeng" 圓通 = "yuantong" 中通 = "zhongtong" 韻達 = "yunda" 每天 = "tiantian" 匯通 = "huitongkuaidi" 全峯 = "quanfengkuaidi" 德邦 = "debangwuliu" 宅急送 = "zhaijisong" number=1 ''' @classmethod def setUpClass(cls): print("第一次運行類時調用") def setUp(self): self.url = "http://www.kuaidi100.com/query" self.headers1 = { 'Connection': 'keep-alive'} def tearDown(self): print("後面收尾") def test_yuantong(self): url=self.url+"?type=yuantong&postid=11111111111" result=requests.get(url=url,headers=self.headers1) print(result.url) print(result.text) def test_tiantian(self): data = "type=tiantian&postid=11111111111" result = requests.get(url=self.url, params=data,headers=self.headers1 ) print("************") print(result.url) print(result.text) if __name__ == '__main__': unittest.main()
我使用了兩個方法,一個圓通,一個每天,self.url就是獲取在setUp中的url,顯示內容:spa
在類的方法旁邊,使用運行,運行單個方法code
在main中運行,blog
在運行方式中,unittest.main(),還有幾種方式表示
使用unittest.TestSuite()集合方式運行,這種方式能夠在單個類中運行,也能夠在運行多個文件
if __name__ == '__main__': #unittest.main() suite = unittest.TestSuite() suite1 = unittest.TestLoader().loadTestsFromTestCase(MytestDemo) # 增長文件 suite.addTest(suite1) unittest.TextTestRunner().run(suite1)
針對TestLoader運行方式有幾種,類名,文件名,運行方法名,後續在寫一篇