介面自動化 unittest

2022-07-23 09:06:08 字數 1911 閱讀 2971

unittest

unittest框架會把以test_開頭的例項方法識別為用例,同時會自動執行

如果不是test_方法,那麼不會被當做測試用例執行

一、匯入unittest

import unittest      系統內建模組,不需要安裝

二、定義類

classtestmulti(unittest.testcase):

定義繼承unittest.testcase的類:testmulti

如果沒有繼承testcase,方法以test_開頭,也不會執行

三、類中建立例項方法

def test_negative_multi(self):

注意:1、  在類中定義的方法,一定要以test_開頭 

2、 一定要以test_開頭,如果不以test_開頭,將無法做斷言

3、建立例項方法,用於執行一條測試用例

四、獲取實際結果

real_result = mathoperation(-2,-4).multiply()

五、驗證實際結果與預期結果是否一致

except_result = -8

self.assertequal(except_result,real_result,msg='測試兩個負數相乘失敗')

assertequal 

第乙個引數為期望值,第二個引數為實際值

第三個引數。msg為斷言失敗的提示資訊

六、執行測試用例

if __name__ == '__main__':

unittest.main()

1、 以後執行unittest的時候,我們就呼叫父類的main()方法來執行

2、unittest框架,會把以test_開頭的方法識別為用例,同時會自動執行

3、如果不是test_開頭的方法,那麼不會被當做用例自動執行

4、執行的總用例數,所有以test_開頭的例項方法總數

七、順序

每個測試方法是以test_開頭的例項方法名的ascii碼數字從小到大執行。

def test_negative_multi(self):

def test_neg_pos_multi(self):

字母a ascii碼        ord('a')   結果:97

_    ascii碼           ord('_')    結果:95

會先執行:def test_neg_pos_multi(self):

八、其他斷言

參考**

self.assertisnone()               不為空

self.assertis(a,b)                    判斷a 與b的物件是否相同,成立則true,否則false

self.asserttrue(a,msg=none)    #判斷a是否為true

self.assertisinstance(a,b)            判斷a的資料型別是否為b,isinstance(a,b) 成立則通過,否則失敗

self.assertin(a,b)                      判斷a in b是否成立,正確則true,否則為false

九、注意

把滑鼠放在例項方法名上來執行用例,那麼只會執行當前一條用例。

在類的上面,點選滑鼠來執行,會執行多條用例

介面自動化之unittest初探

usr bin python3 coding utf 8 time 2018 12 7 11 03 author yosef 夜雨聲煩 email wurz529 foxmail.com file model.py software pycharm community edition unittes...

unittest介面自動化測試第三頁

封裝日誌使用方法 import logging 日誌位址引數loginfopath loginfopath r d pycharm pycharm pure book pycharmprojects untetest inte ce log info logs.txt class logprint ...

python自動化測試unittest的使用

import unittest class testlogin unittest.testcase def test 01 self b 1 斷言相等 self.assertequal b,2 def test 02 self b 23 斷言是否b是不是 1234 的子串 self.asserteq...