使用 pytest 進行進階測試

中級
開發人員
學生
Visual Studio Code

使用 parametrization、fixtures 和 monkeypatch fixture 來撰寫具有可重用設定與隔離狀態的 pytest 測試。

學習目標

在本課程模組結束時,您將能夠:

  • 用來 @pytest.mark.parametrize 執行一個測試函式,裡面有多個輸入值。
  • 建立可重複使用的測試夾具,以便在測試間共享設定和清理作業。
  • 說明 pytest fixture 範圍、使用 yield 型拆除,以及透過 conftest.py 共用 fixture。
  • 在測試期間,使用內建 monkeypatch 的夾具安全地替換函數、數值、環境變數與路徑。

必要條件

  • 撰寫 Python 腳本的能力
  • 熟悉命令行工具和執行腳本
  • 基本熟悉撰寫與執行 pytest 測試,包括測試發現與斷言
  • Python 3.10 或更新版本,符合 pytest 9.x 的最低支援版本,且 pytest 安裝於虛擬環境中。 關於Windows設定,請參考在 Windows 設定你的Python開發環境。 關於Python封裝和 pytest 設定,請參考 Python 的 安裝 Python modules 以及 pytest 的 入門指南