標題目錄
- 一、UnitTest概念
- 二、UnitTest原理
- 三、UniTtest斷言
- 四、最后
一、UnitTest概念
1、test fixture:測驗韌體,簡單來說就是做一些測驗程序中需要準備的東西,比如創建臨時的資料庫,檔案和目錄等,其中 setUp() 和 setDown() 是最常用的方法,
2、test case:用戶自定義的測驗case的基類,呼叫run()方法,會依次呼叫setUP方法、執行用例的方法、tearDown()方法,
3、test suite:測驗用例集合,可以通過addTest()方法手動增加Test Case,也可通過TestLoader自動添加Test Case,TestLoader在添加用例時,會沒有順序,
4、test runner:運行測驗用例的驅動類,可以執行TestCase,也可執行TestSuite,執行后TestCase和Testsuite會自動管理TestResult,
二、UnitTest原理
UnitTest是Python自帶的測驗框架,是Python的標準測驗庫,相比于其他測驗框架是Python目前使用最廣的測驗框架,
1、作業原理
TestCase:一個testcase就是一條測驗用例;
setUp:測驗環境的準備;
tearDown:測驗環境的還原;
run:測驗執行;
TestSuite:測驗套件或集合,多個測驗用例的集合就是一個suite,一個suite可以包含多條測驗用例,測驗套件suite里面也可以嵌套測驗套件suite;
TestLoader:用來加載testcase與testsuite;
Testrunner:用來執行測驗用例,將測驗結果保存在texttestresult中,
2、需要注意
class繼承unittest.TestCase,繼承后就形成了一條測驗用例,如果在class中有多個test開頭的 方法,那么每個test開頭的方法,在load的時候,便會生成一條testcase,
模塊名以test開頭;
類以Test開頭;
方法以test開頭;
運行時,右擊出現unittest,如果沒有出現,那么需要配置或使用python運行,添加: if name == ‘main’: unittest.main(),
3、斷言結果
. 表示通過 或者 pass;
F False, 表示斷言沒有通過;
E Error, 表示程式內部發生了錯誤,
4、執行順序
根據 ascii 編碼排序;
如果我們想手工調整測驗用例的執行順序,不同的字母前面加 數字,
5、pycharm運行時注意事項
在空行處右擊,執行整個模塊;
在類名上, 執行單個測驗類;
在方法名上, 執行單個測驗用例;
注意在指定的位置運行,空行的地方去運行,
三、UniTtest斷言
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,群內會有不定期的發放免費的資料鏈接,如果你有好的學習也資料可以私聊發我,我會注明出處之后分享給大家,

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/16214.html
標籤:其他
