溫馨提示×

Ubuntu Python單元測試怎么寫

小樊
43
2025-08-13 16:47:20
欄目: 編程語言

在Ubuntu系統中編寫Python單元測試,通常會使用unittest模塊,這是Python標準庫中的一個模塊,用于編寫和運行單元測試。以下是編寫Python單元測試的基本步驟:

  1. 導入必要的模塊

    import unittest
    
  2. 創建測試類: 測試類通常繼承自unittest.TestCase。

    class MyTestCase(unittest.TestCase):
        pass
    
  3. 編寫測試方法: 在測試類中編寫測試方法。每個測試方法的名稱應該以test_開頭。

    class MyTestCase(unittest.TestCase):
        def test_example(self):
            self.assertEqual(1, 1)  # 這是一個簡單的斷言示例
    
  4. 編寫測試用例: 使用unittest模塊提供的斷言方法來驗證代碼的行為是否符合預期。

    class MyTestCase(unittest.TestCase):
        def test_addition(self):
            self.assertEqual(1 + 1, 2)
    
        def test_subtraction(self):
            self.assertEqual(3 - 1, 2)
    
  5. 運行測試: 可以通過命令行運行測試,或者編寫一個腳本來運行測試。

    • 命令行運行: 假設你的測試文件名為test_my_module.py,可以在終端中運行以下命令:

      python3 -m unittest test_my_module.py
      
    • 編寫運行腳本: 創建一個名為run_tests.py的文件,內容如下:

      import unittest
      
      if __name__ == '__main__':
          unittest.main()
      

      然后在終端中運行這個腳本:

      python3 run_tests.py
      
  6. 使用測試發現: 如果你的測試文件和測試方法都遵循命名約定(例如,文件名以test_開頭,方法名以test_開頭),你可以使用unittest的測試發現功能來自動運行所有測試。

    python3 -m unittest discover
    

以下是一個完整的示例,展示了如何在Ubuntu系統中編寫和運行Python單元測試:

# test_my_module.py
import unittest

def add(a, b):
    return a + b

class MyTestCase(unittest.TestCase):
    def test_addition(self):
        self.assertEqual(add(1, 2), 3)
        self.assertEqual(add(-1, 1), 0)
        self.assertEqual(add(-1, -1), -2)

    def test_subtraction(self):
        self.assertEqual(3 - 1, 2)
        self.assertEqual(1 - 3, -2)
        self.assertEqual(-1 - (-1), 0)

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

在終端中運行測試:

python3 -m unittest test_my_module.py

或者使用測試發現:

python3 -m unittest discover

通過這些步驟,你可以在Ubuntu系統中輕松地編寫和運行Python單元測試。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女