溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python單元測試及unittest框架用法

發(fā)布時間:2020-07-10 11:24:24 來源:億速云 閱讀:126 作者:清晨 欄目:開發(fā)技術(shù)

這篇文章主要介紹Python單元測試及unittest框架用法,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

例題取用登錄模塊:代碼如下

def login_check(username,password):

  ''' 登錄校驗的函數(shù)
  :param username:賬號
  :param password: 密碼
  :return: '''

  if 6<=len(password)<=18:
    if username=='admin' and password=='123456':
      return {'code':0,'msg':'登錄成功'}
    else:
      return {'code':1,'msg':'賬號密碼不正確'}

  else:
    return {'code':1,'msg':'密碼長度在6-18之間'}

單元測試是什么:

單元測試(unit testing),是指對軟件中的最小可測試單元進行檢查和驗證
如何進行單元測試:

第一我們得寫出測試用例,而測試用例主要的要素為(編號,標題,前置條件,操作步驟,預期結(jié)果,實際結(jié)果)

unittest框架核心的四個概念

1.TestCase:一個testcase的實例就是一個測試用例

2.TestSuite:多個測試用例集合在一起

3.TextTestRunner:用來執(zhí)行測試用例

4.fifixture:測試用例環(huán)境的搭建和銷毀,測試前環(huán)境的搭建(setUp),執(zhí)行測試代碼(run)以及測試后環(huán)境
的還原(tearDown)

登錄測試用例標題如下等等:

1.用戶名密碼正確

2.用戶名不存在

3. 密碼小于6位

4. 密碼大于18位

5. 用戶名為空然后我們執(zhí)行測試用例

import unittest      #引用單元測試模塊
from day8.登錄測試代碼 import login_check  #將登陸模塊代碼引入
class Login_test(unittest.TestCase):
  def setUp(self): 
    print("執(zhí)行用例前都會執(zhí)行這個方法,類似前置條件")
  def tearDown(self):
    print("用例執(zhí)行完后 都會執(zhí)行該方法")
  def test_login_success(self):  #登錄成功用例
    result=login_check('admin','123456')  #這個是實際結(jié)果
     expect='登錄成功'          #這個是預期結(jié)果
     
    self.assertEqual(result['msg'],expect)  #將實際結(jié)果和預期結(jié)果做比較,輸出完全相同則通過 輸出結(jié)果是OK

Python單元測試及unittest框架用法

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

Python單元測試及unittest框架用法

注意

一個def方法就是一個測試用例

方法名就是用例的標題,用例方法名一定要已text_開上就

以上是Python單元測試及unittest框架用法的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI