unittest單元測試框架簡單使用

2021-10-02 17:34:56 字數 2493 閱讀 1313

一、單元測試框架提供的功能:

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,...