1、conftest.py介紹 conftest.py是pytest框架的一種固定寫法,把fixture或者自己定義的插件寫到這個文件里就會自動去調用。我們前面都是將fixture寫到測試用例文件里,在實際工作中更推薦寫到conftest.py文件中,這樣更加靈活,易維護。 2、conftest.p ...
目錄
1、conftest.py介紹
conftest.py
是pytest
框架的一種固定寫法,把fixture
或者自己定義的插件寫到這個文件里就會自動去調用。我們前面都是將fixture
寫到測試用例文件里,在實際工作中更推薦寫到conftest.py
文件中,這樣更加靈活,易維護。
2、conftest.py的特點
conftest.py
的文件名是固定的,不能修改- 可以通過
conftest.py
實現共用fixture
conftest.py
需要放到包內,即文件夾必須有__init__.py
文件conftest.py
文件中的fixture
和自定插件在使用時不需要import
,pytest
會自動查找
3、conftest.py文件的使用
- 第一步:在項目根目錄或者包中創建
conftest.py
import pytest
@pytest.fixture()
def conftest_fixture():
print("fixture前置")
yield
print("fixture後置")
- 第二步:在測試用例文件中使用
def test_case(conftest_fixture):
print("測試用例")
"""
執行結果
conftest_demo/test_case.py::test_case fixture前置
測試用例
PASSEDfixture後置
"""
4、conftest.py的作用域
- 在根目錄創建
conftest.py
文件,作用範圍為所有測試模塊 - 在單獨測試目錄中創建
conftest.py
文件,作用範圍為該目錄 - 測試根目錄和子目錄中都有
conftest.py
文件,且存在同名fixture
,則在子目錄下的測試用例使用的是子目錄conftest.py
中的fixture
總結來說,conftest.py文件可以作用於同級以及以下的模塊。