Python單元測(cè)試及unittest框架用法實(shí)例解析
例題取用登錄模塊:代碼如下
def login_check(username,password): ’’’ 登錄校驗(yàn)的函數(shù) :param username:賬號(hào) :param password: 密碼 :return: ’’’ if 6<=len(password)<=18: if username==’admin’ and password==’123456’: return {’code’:0,’msg’:’登錄成功’} else: return {’code’:1,’msg’:’賬號(hào)密碼不正確’} else: return {’code’:1,’msg’:’密碼長(zhǎng)度在6-18之間’}
單元測(cè)試是什么:
單元測(cè)試(unit testing),是指對(duì)軟件中的最小可測(cè)試單元進(jìn)行檢查和驗(yàn)證如何進(jìn)行單元測(cè)試:
第一我們得寫(xiě)出測(cè)試用例,而測(cè)試用例主要的要素為(編號(hào),標(biāo)題,前置條件,操作步驟,預(yù)期結(jié)果,實(shí)際結(jié)果)
unittest框架核心的四個(gè)概念
1.TestCase:一個(gè)testcase的實(shí)例就是一個(gè)測(cè)試用例
2.TestSuite:多個(gè)測(cè)試用例集合在一起
3.TextTestRunner:用來(lái)執(zhí)行測(cè)試用例
4.fifixture:測(cè)試用例環(huán)境的搭建和銷毀,測(cè)試前環(huán)境的搭建(setUp),執(zhí)行測(cè)試代碼(run)以及測(cè)試后環(huán)境的還原(tearDown)
登錄測(cè)試用例標(biāo)題如下等等:
1.用戶名密碼正確
2.用戶名不存在
3. 密碼小于6位
4. 密碼大于18位
5. 用戶名為空然后我們執(zhí)行測(cè)試用例
import unittest #引用單元測(cè)試模塊from day8.登錄測(cè)試代碼 import login_check #將登陸模塊代碼引入class Login_test(unittest.TestCase):def setUp(self): print('執(zhí)行用例前都會(huì)執(zhí)行這個(gè)方法,類似前置條件')def tearDown(self): print('用例執(zhí)行完后 都會(huì)執(zhí)行該方法')def test_login_success(self): #登錄成功用例 result=login_check(’admin’,’123456’) #這個(gè)是實(shí)際結(jié)果 expect=’登錄成功’ #這個(gè)是預(yù)期結(jié)果 self.assertEqual(result[’msg’],expect) #將實(shí)際結(jié)果和預(yù)期結(jié)果做比較,輸出完全相同則通過(guò) 輸出結(jié)果是OK

def test_username_nonentity(self): #用戶名不存在用例 result=login_check(’admininin’,’111222333’) expect=’用戶名不存在’ self.assertEqual(expect,result[’msg’]) #反之,如果不通過(guò)輸出結(jié)果如下圖

注意
一個(gè)def方法就是一個(gè)測(cè)試用例
方法名就是用例的標(biāo)題,用例方法名一定要已text_開(kāi)頭
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. idea設(shè)置提示不區(qū)分大小寫(xiě)的方法2. Java PreparedStatement用法詳解3. IntelliJ IDEA導(dǎo)出項(xiàng)目的方法4. 使用AJAX(包含正則表達(dá)式)驗(yàn)證用戶登錄的步驟5. IDEA 2020.1.2 安裝教程附破解教程詳解6. JS圖片懶加載庫(kù)VueLazyLoad詳解7. django queryset相加和篩選教程8. Spring如何集成ibatis項(xiàng)目并實(shí)現(xiàn)dao層基類封裝9. Java利用TCP協(xié)議實(shí)現(xiàn)客戶端與服務(wù)器通信(附通信源碼)10. 利用ajax+php實(shí)現(xiàn)商品價(jià)格計(jì)算

網(wǎng)公網(wǎng)安備