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)境的搭建和銷(xiāo)毀,測(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è)方法,類(lèi)似前置條件")
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í)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
django商品分類(lèi)及商品數(shù)據(jù)建模實(shí)例詳解
這篇文章主要介紹了django商品分類(lèi)及商品數(shù)據(jù)建模實(shí)例代碼內(nèi)容,需要的朋友們學(xué)習(xí)參考下。2020-01-01
感知器基礎(chǔ)原理及python實(shí)現(xiàn)過(guò)程詳解
這篇文章主要介紹了感知器基礎(chǔ)原理及python實(shí)現(xiàn)過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-09-09
解決keras模型保存h5文件提示無(wú)此目錄問(wèn)題
這篇文章主要介紹了解決keras模型保存h5文件提示無(wú)此目錄問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-07-07
python學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)實(shí)例代碼
數(shù)據(jù)結(jié)構(gòu)就是用來(lái)將數(shù)據(jù)組織在一起的結(jié)構(gòu)。換句話說(shuō),數(shù)據(jù)結(jié)構(gòu)是用來(lái)存儲(chǔ)一系列關(guān)聯(lián)數(shù)據(jù)的東西。在Python中有四種內(nèi)建的數(shù)據(jù)結(jié)構(gòu),分別是List、Tuple、Dictionary以及Set。本文將通過(guò)實(shí)例來(lái)介紹這些數(shù)據(jù)結(jié)構(gòu)的用法。2015-05-05
Flask框架學(xué)習(xí)筆記之路由和反向路由詳解【圖文與實(shí)例】
這篇文章主要介紹了Flask框架學(xué)習(xí)筆記之路由和反向路由,結(jié)合圖文與實(shí)例形式詳細(xì)分析了flask框架中路由與反向路由相關(guān)概念、原理、用法與相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2019-08-08
Python之PyQt6對(duì)話框的實(shí)現(xiàn)
這篇文章主要介紹了Python之PyQt6對(duì)話框的實(shí)現(xiàn),文章內(nèi)容詳細(xì),簡(jiǎn)單易懂,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2023-01-01
Python使用scipy.fft進(jìn)行大學(xué)經(jīng)典的傅立葉變換
傅里葉變換是在高數(shù)是一個(gè)很重要的知識(shí)點(diǎn),本文將介紹Python使用scipy.fft進(jìn)行大學(xué)經(jīng)典的傅立葉變換,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-06-06

