什麼是單元測試?
單元測試是負責對最小的軟體設計單元(模組)進行驗證。
python語言下有很多單元測試框架,例如unittest、pytest、doctest等,其中unittest為python語言中自帶的單元測試框架。
下面給出乙個比較簡單的unittest單元測試指令碼
1import unittest #
匯入unittest模組23
4class testcount(unittest.testcase): #
定義測試類子類,繼承父類unittest.testcase中所有的方法56
def setup(self): #
setup()方法用於測試案例執行之前的初始化工作
7print("
test start")
89def test_add(self): #
定義測試用例部分,必須是以test開頭命名,可以定義多個測試用例的方法
10 result_1 = input("
enter a number!\n")
11 result_1 =int(result_1)
12 self.assertequal(result_1, 113, msg="
something is wrong
") #
可使用unittest.testcase類下的各種斷言方法用於對結果的判斷
1314
def test_add2(self): #
第二條測試用例
15 result_2 = 18 * 8
16 self.assertequal(result_2, 144, msg="
result is wrong")
1718
def teardown(self): #
teardown()方法與setup()方法相對應,用於測試用例執行之後的善後工作,為下一條case的執行留下乙個乾淨的環境
19print("
test end")
2021
22if
__name__ == "
__main__
": #
該部分使用main()方法將乙個單元測試模組變成可以直接執行的指令碼
23 unittest.main()
在python標準庫關於unittest的官方說明文件中,開篇就給出了比較重要的4個基本概念:
測試用例(testcase)
乙個測試用例是乙個獨立的測試單元。它檢查輸入特定的資料時的響應。unittest
提供乙個基類:testcase
,用於新建測試用例。
測試套(testsuite)
test suite 是一系列的測試用例,或測試套件,或兩者皆有。它用於歸檔需要一起執行的測試。
測試執行器(test runner)
test runner 是乙個用於執行和輸出測試結果的元件。這個執行器可能使用圖形介面、文字介面,通過texttestrunner類提供的run()方法來執行test suite或test case。
測試腳手架(test fixture)
test fixture 表示為了開展一項或多項測試所需要進行的準備工作,以及所有相關的清理操作,一般通過testcase中的setup()和teardown()方法來實現。舉個例子,這可能包含建立臨時或**的資料庫、目錄,再或者啟動乙個伺服器程序。
msg:判斷不成立時需要返回的字串
assertequal(a, b, msg=「」)
判斷兩個引數相等:first == second
assertnotequal(a, b, msg=「」)
判斷兩個引數不相等:first != second
assertin(member, container, msg=「」)
判斷是字串是否包含:member in container
assertnotin(self, member, container, msg=「」)
判斷是字串是否不包含:member not in container
asserttrue(x,msg=「」)
判斷是否為真:bool(x) is true
assertfalse(x, msg=「」)
判斷是否為假:bool(x) is false
assertisnone(obj, msg=「」)
判斷是否為none:obj is none
assertisnotnone(obj, msg=「」)
判斷是否不為none:obj is not none
--未完待續
python單元測試unittest框架
環境 pycharm 2016.2 python 3.5 待測試的類 widget.py 測試類 auto.py 測試結果 總結 1。第一步 先寫好測試類 2。第二步 匯入unittest模組及測試的類,運用setup 方法做測試前的準備工作,如建立資料庫連線,運用teardown 方法做測試後的清...
Python單元測試框架 pytest
一 介紹 pytest是乙個非常成熟的全功能的python測試框架,主要特點有以下幾點 1 簡單靈活,容易上手 2 支援引數化 4 pytest具有很多第三方外掛程式,並且可以自定義擴充套件,比較好用的如pytest selenium 整合selenium pytest html 完美html測試報...
Python單元測試框架(附例子)
單元測試在 python中做是為了在應用程式的開發階段的早期識別錯誤時的錯誤不太經常和修復成本更低。單元測試是用python設計的指令碼化 級測試,用於驗證功能的小 單元 單元測試是一種基於測試夾具的物件導向框架。python單元測試主要涉及測試特定模組而不訪問任何相關 開發人員可以使用存根和模擬等...