範例題取用登入模組:程式碼如下
def login_check(username,password): ''' 登录校验的函数 :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),是指對軟體中的最小可測試單元進行檢查和驗證
如何進行單元測試:
第一我們得寫出測試用例,而測試用例主要的要素為(編號,標題,前置條件,操作步驟,預期結果,實際結果)
unittest框架核心的四個概念
1.TestCase
:testcase的實例就是一個測試案例
2.TestSuite
:多個測試案例集合在一起
#3.TextTestRunner
:用來執行測試案例
#4.fifixture
:測試案例環境的建構與銷毀,測試前環境的搭建(setUp),執行測試程式碼(run)以及測試後環境
的還原(tearDown)
登入測試案例標題如下等等:
1.使用者名稱密碼正確
2.使用者名稱不存在
#3.密碼小於6位元
4.密碼大於18位元
5. 使用者名稱為空白然後我們執行測試案例
import unittest #引用单元测试模块 from day8.登录测试代码 import login_check #将登陆模块代码引入 class Login_test(unittest.TestCase): def setUp(self): print("执行用例前都会执行这个方法,类似前置条件") def tearDown(self): print("用例执行完后 都会执行该方法") def test_login_success(self): #登录成功用例 result=login_check('admin','123456') #这个是实际结果 expect='登录成功' #这个是预期结果 self.assertEqual(result['msg'],expect) #将实际结果和预期结果做比较,输出完全相同则通过 输出结果是OK
def test_username_nonentity(self): #用户名不存在用例 result=login_check('admininin','111222333') expect='用户名不存在' self.assertEqual(expect,result['msg']) #反之,如果不通过输出结果如下图
註:
一個def方法就是一個測試案例
方法名稱就是使用案例的標題,使用案例方法名稱一定要已text_開頭
相關學習推薦:python影片教學
以上是實例解析Python單元測試及unittest框架用法的詳細內容。更多資訊請關注PHP中文網其他相關文章!