Python - Unittest小結

1、Unittest

單元測試框架,可用於自動化測試用力組織,執行,輸出結果html


2、Unittest構成

  1. Test Case
  2. Test Suite
  3. Test Fixture
  4. Test Runner

image
(圖片來源於網絡)python


Test Case

一個測試用例是一個獨立的測試單元。它檢查輸入特定的數據時的響應。 unittest 提供一個基類: TestCase ,用於新建測試用例。git

一個完整的用例須要遵循3A原則github

  • Arrange: 初始化測試對象或者準備測試數據
  • Act : 調用被測方法
  • Assert: 斷言(預期結果與實際結果的比較)


test suite

用於組織測試用例,測試用例的集合數據庫

戳我獲取 —> 組織用例的姿式網絡


Test Fixture

測試腳手架 test fixture 表示爲了開展一項或多項測試所須要進行的準備工做,以及全部相關的清理操做。框架

  • 定義單個或者多個測試所需的環境準備(setUp),以及環境清理(tearDown)。
  • 例:鏈接數據庫,或者建立Selenium WebDriver driver實例


test runner

測試運行器 是一個用於執行和輸出測試結果的組件。這個運行器可能使用圖形接口、文本接口,或返回一個特定的值表示運行測試的結果單元測試

demo.py測試

import unittest

class TestDemo(unittest.TestCase):

    # 初始化測試對象或者準備測試數據
    def setUp(self):
        pass

    def tearDown(self):
        pass

    def add(self, a, b):
        return a + b
    
    # 調用被測方法
    def test_case_one(self):
        ret = self.add(1, 2)
        # 斷言
        self.assertEqual(3, ret)

    def test_case_two(self):
        ret = self.add(1, 2)
        self.assertEqual(1, ret)

if __name__ == '__main__':
    unittest.main(verbosity=2)


Uittest使用要點:

  1. 被測方法名需以test開頭,不然不被識別
  2. verbosity參數默認爲1,有3個參數可選(0,1,2),用於表示控制檯輸出報告的詳細程度


推薦閱讀

Uittest官網
灰藍 Python必會的單元測試框架 —— unittest
測試教程網 Uittestui

相關文章
相關標籤/搜索