unittest單元測試框架簡單使用

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

1、用例的編寫規範與執行;

2、提供專業的比較方法(斷言);

3、提供豐富的測試日誌:提供失敗日誌,成功用例數,失敗用例數,執行時間等。

從單元測試提供的功能來看,可以幫助我們提供不同級別的測試:

  • 單元測試:unittest
  • HTTP接口自動化測試:unittest+Requests
  • Web UI自動化測試:unittest+selenium
  • 移動自動化測試:unittest+appium

二、編寫測試用例

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

OK

Process finished with exit code 0
 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章