一、單元測試框架提供的功能:
1、用例的編寫規範與執行;
2、提供專業的比較方法(斷言);
3、提供豐富的測試日誌:提供失敗日誌,成功用例數,失敗用例數,執行時間等。
從單元測試提供的功能來看,可以幫助我們提供不同級別的測試:
二、編寫測試用例
1、被測試函式:
class calculator():
def __init__(self,a,b):
'實現兩個數的加、減、乘、除'
self.a = int(a)
self.b = int(b)
#加法def add(self):
return self.a+self.b
def sub(self):
return self.a-self.b
def mul(self):
return self.a * self.b
def div(self):
return self.a / self.b
2、編寫測試函式:
import unittest
from module import calculator
class moduletest(unittest.testcase):
def setup(self):
self.cal = calculator(8,4)
def teardown(self):
pass
def test_add(self):
result = self.cal.add()
self.assertequal(result,12)
def test_sub(self):
result = self.cal.sub()
self.assertequal(result,4)
def test_mul(self):
result = self.cal.mul()
self.assertequal(result,32)
def test_div(self):
result = self.cal.div()
self.assertequal(result,2)
if __name__ == "__main__":
#構造測試集
#unittest.main()
suite = unittest.testsuite()
suite.addtest(moduletest("test_add"))
suite.addtest(moduletest("test_sub"))
suite.addtest(moduletest("test_mul"))
suite.addtest(moduletest("test_div"))
runner = unittest.texttestrunner()
runner.run(suite)
解析:
首先,通過import引入unittest引入單元測試框架。
建立moduletest類繼承unittest.testcase類。
setup()和teardown()為每乙個測試用例的開始與結束,setup()方法用於測試用例執行前的初始化工作,例如初始化變數、生成資料庫測試資料、開啟瀏覽器等。teardown則相反;
unittest要求測試用例要以「test」開頭。如:test_add;
接下來,
呼叫unittest.testsuite類的addtest()方法向測試套件中新增測試用例;
最後,通過unittest.texttestrunner()類的run()方法執行測試套件中的測試用例;
如果想執行全部測試用例,使用if __name__ == "__main__":下的unittest.main()函式。main方法會自動查詢當前檔案繼承unittest.testsuite類的測試類,在測試類下匹配以「test」開頭的方法並執行;
執行結果:
testing started at 12:33 ...
c:\users\46297\pycharmprojects\unittesttest\venv\scripts\python.exe "e:\softwareinstall\pycharm community edition 2018.1\helpers\pycharm\_jb_unittest_runner.py" --path c:/users/46297/pycharmprojects/unittesttest/test.py
launching unittests with arguments python -m unittest c:/users/46297/pycharmprojects/unittesttest/test.py in c:\users\46297\pycharmprojects\unittesttest
ran 4 tests in 0.005s
okprocess finished with exit code 0
python單元測試unittest框架
環境 pycharm 2016.2 python 3.5 待測試的類 widget.py 測試類 auto.py 測試結果 總結 1。第一步 先寫好測試類 2。第二步 匯入unittest模組及測試的類,運用setup 方法做測試前的準備工作,如建立資料庫連線,運用teardown 方法做測試後的清...
python單元測試框架unittest
什麼是單元測試?單元測試是負責對最小的軟體設計單元 模組 進行驗證。python語言下有很多單元測試框架,例如unittest pytest doctest等,其中unittest為python語言中自帶的單元測試框架。下面給出乙個比較簡單的unittest單元測試指令碼 1 import unit...
單元測試 unittest
單元測試框架 unittest pytest uniittest unittest是python內建的單元測試框架,具有編寫用例,組織用例,執行用例,輸出測試報告等自動化框架的條件。unittest中的5個重要概念 test fixture,testcase,testsuite,testloder,...