一、test fixture:測試固件,簡單來講就是作一些測試過程當中須要準備的東西,好比建立臨時的數據庫,文件和目錄等,其中 setUp() 和 setDown() 是最經常使用的方法。python
二、test case:用戶自定義的測試case的基類,調用run()方法,會依次調用setUP方法、執行用例的方法、tearDown()方法。面試
三、test suite:測試用例集合,能夠經過addTest()方法手動增長Test Case,也可經過TestLoader自動添加Test Case,TestLoader在添加用例時,會沒有順序。數據庫
四、test runner:運行測試用例的驅動類,能夠執行TestCase,也可執行TestSuite。執行後TestCase和Testsuite會自動管理TestResult。app
UnitTest是Python自帶的測試框架,是Python的標準測試庫,相比於其餘測試框架是Python目前使用最廣的測試框架。框架
一、工做原理
TestCase:一個testcase就是一條測試用例;性能
setUp:測試環境的準備;學習
tearDown:測試環境的還原;測試
run:測試執行;ui
TestSuite:測試套件或集合,多個測試用例的集合就是一個suite,一個suite能夠包含多條測試用例,測試套件suite裏面也能夠嵌套測試套件suite;編碼
TestLoader:用來加載testcase與testsuite;
Testrunner:用來執行測試用例,將測試結果保存在texttestresult中。
二、須要注意
class繼承unittest.TestCase,繼承後就造成了一條測試用例。若是在class中有多個test開頭的 方法,那麼每一個test開頭的方法,在load的時候,便會生成一條testcase。
模塊名以test開頭;
類以Test開頭;
方法以test開頭;
運行時,右擊出現unittest。若是沒有出現,那麼須要配置或使用python運行,添加: if name == ‘main’: unittest.main()。
三、斷言結果
. 表示經過 或者 pass;
F False, 表示斷言沒有經過;
E Error, 表示程序內部發生了錯誤。
四、執行順序
根據 ascii 編碼排序;
若是咱們想手工調整測試用例的執行順序,不一樣的字母前面加 數字。
五、pycharm運行時注意事項
在空行處右擊,執行整個模塊;
在類名上, 執行單個測試類;
在方法名上, 執行單個測試用例;
注意在指定的位置運行,空行的地方去運行。
Python在 unittest.TestCase 類中提供了衆多斷言方法。
斷言方法檢查你認爲應該知足的條件是否確實知足。若是條件確實知足,你對程序行爲的假設就獲得了確認,能夠確信沒有錯誤。若是應該知足的條件實際上並不知足,Python將引起異常。
下表是6個經常使用的斷言方法,使用這些方法可覈實返回的值等於或不等於預期的值,返回值爲 True 或 False 。返回的值在列表中或不在列表中。只能在繼承 unittest.TestCase 的類中使用這些方法。
UnitTest經常使用斷言方法 | 做用 |
---|---|
assertEqual(a, b) | 覈實 a == b |
assertNotEqual(a, b) | 覈實 a != b |
assertTrue(x) | 覈實 x 爲 True |
assertFalse(x) | 覈實 x 爲 False |
assertIn( item , list ) | 覈實 item 在 list 中 |
assertNotIn( item , list ) | 覈實 item 不在 list 中 |
對軟件測試、接口測試、自動化測試、軟件測試零基礎入門、性能測試、LR腳本開發、python自動化全棧、面試經驗感興趣能夠175317069,羣內會有不按期的發放免費的資料連接。若是你有好的學習也資料能夠私聊發我,我會註明出處以後分享給你們。