python unittest之異常測試
前言
在python unittest測試框架中,提供了一系列的方法用於驗證程序的異常。
下面和我一起看看在unittest中,如何使用異常驗證來進行斷言,完成對應的測試工作
assertRaises(exception, callable, *args, **kwds)
參數說明:
功能說明:
驗證異常測試,驗證異常(第一個參數)是當調用待測試函數時,在傳入相應的測試數據後,如果測試通過,則表明待測試函數拋出了預期的異常,否則測試失敗。
下面我們通過一個示例來進行演示,如果驗證做除法時拋出除數不能為0的異常ZeroDivisionError。
test_raise方法使用了assertRaises方法來斷言驗證div方法除數為零時拋出的異常。
運行python raise_demo.py結果如下
你還可以嘗試調整下數據,如下:
執行結果如下:
assertRaisesRegexp(exception, regexp, callable, *args, **kwds)
這裡就不對參數進行說明了,該方法使用正則表達式方式來匹配異常斷言,能更加靈活,實用更多的場景。
通常regexp參數是一個正常表達式,或包含正則表達式的字元串(使用re.search()函數)
下面跟我一下看下assertRaisesRegexp的實際應用示例
運行python test_raise_regexp.py上述示例,結果如下:
我們修改下除數,把
改為:
則執行失敗,因為匹配失敗了。
總結
今天我們就如何對被測對象的拋出的異常進行斷言驗證,做了基本的說明和示例,大家可以基於上述示例進行修改理解。深入掌握異常斷言原理和方法。
Hello,夥伴們


TAG:開源優測 |
※Python之tworoutine
※Python中使用Type hinting 和 annotations
※python介面測試之token&session的處理
※python下的測試利器pytest
※selenium+python點擊 display:none元素解決方法匯總
※Python模塊——contextlib和urllib
※Python 標準庫精華: collections.Counter
※為什麼Python如此火?Why Python is so popular?
※Selenium python 實現點擊非select/option下的懸浮隱藏文本
※Python 標準庫之 collections 使用教程
※python selenium環境搭建
※Python super 詳解
※Python 的 except 怪癖
※Logistic regression 的梯度下降解法-附python實現
※Python Exceptions介紹
※使用Python原生地處理multipart/form-data
※windows下安裝python及第三方庫numpy、scipy、matplotlib終極版
※Python 特殊函數(lambda,map,filter,reduce)
※揭秘 Python 中的 enumerate 函數
※Python之Fpgrowth規則探尋