pytest.fixture
是 pytest 測試框架中的一個非常強大的功能,它允許你在測試函數運行前后執行一些設置或清理代碼。以下是關于 pytest.fixture
的詳細介紹:
一、定義與用途
pytest.fixture
是一個裝飾器,用于標記一個函數為 fixture。Fixture 函數中的代碼可以在測試函數運行之前或之后執行,用于設置測試環境、準備測試數據或清理測試資源等。
二、關鍵特性
- 命名與激活:
- Fixture 有獨立的命名,并通過聲明它們在測試函數、模塊、類或整個項目中的使用來激活。
- 模塊化:
- 每個 fixture 都可以互相調用,實現模塊化的測試設置。
- 返回值:
- Fixture 可以有返回值,測試用例可以調用這些返回值作為參數。
- 作用域:
- 通過
scope
參數指定 fixture 的作用域,可以是function
(默認,每個測試函數調用一次)、class
(每個測試類調用一次)、module
(每個模塊調用一次)或session
(整個測試會話期間調用一次)。
- 通過
- 參數化:
- 使用
params
- 使用