如何測試 Python 程式或元件?


要測試 Python 程式,請在 Pygthon 中使用 unittest 模組。doctest 和 unittest 模組或第三方測試框架可用於構建詳盡的測試套件,以測試模組中的每一行程式碼。

doctest 模組

doctest 模組搜尋看起來像互動式 Python 會話的文字片段,然後執行這些會話以驗證它們是否完全按顯示的那樣工作。

unittest 模組

unittest 模組支援測試自動化、共享測試的設定和拆卸程式碼、將測試聚合到集合中以及測試與報告框架的獨立性。

在繼續之前,讓我們瞭解一些關於 Python 中測試的關鍵概念 -

  • 測試夾具 - 它表示執行一個或多個測試所需的準備工作,以及任何相關的清理操作。

  • 測試用例 - 測試用例是測試的單個單元。它檢查特定輸入集的特定響應。unittest 提供了一個基類 TestCase,可用於建立新的測試用例。

  • 測試套件 - 測試套件是測試用例、測試套件或兩者的集合。它聚合了要一起執行的測試。

  • 測試執行器 - 測試執行器是協調測試執行並將結果提供給使用者的元件。

現在讓我們建立一個測試 -

建立測試

示例

在此示例中,我們將測試 Python 中的一些方法

import unittest class TestMethods(unittest.TestCase): def test_lower(self): self.assertEqual('AMIT'.lower(), 'amit') def test_islower(self): self.assertTrue('amit'.islower()) self.assertFalse('Amit'.isupper()) def test_split(self): s = 'Demo Text' self.assertEqual(s.split(), ['Demo', 'Text']) # check that s.split fails when the separator is not a string with self.assertRaises(TypeError): s.split(2) if __name__ == '__main__': unittest.main()

輸出

...
----------------------------------------------------------------------
Ran 3 tests in 0.000s

OK

在上面的示例中,我們成功運行了測試。每個測試的根源都是對 assertEqual() 的呼叫,以檢查預期結果 -

  • assertTrue() 或 assertFalse() 來驗證條件;或
  • assertRaises() 來驗證是否引發了特定異常

更新於: 2022年9月20日

2K+ 閱讀量

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.