3秒鐘unittest入門使用

一:unittest跑起來

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中的幾個方法編碼

 

2、增長初始化的方法,

 

在類中,添加,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

 

 3、運行

3.1 單個類運行

在類的方法旁邊,使用運行,運行單個方法code

 

3.2: 總體運行

在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運行方式有幾種,類名,文件名,運行方法名,後續在寫一篇

相關文章
相關標籤/搜索