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 = -8self.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...