conftest.py是pytest特有的本地测试配置⽂件,既可以⽤来设置项⽬级的Fixture,也可以⽤来导⼊外部插件,还可以⽤来指定Hook函数(钩⼦函数)
conftest.py⽂件名称是固定,pytest会⾃动识别该⽂件,只作⽤于它所在的⽬录及⼦⽬录。
conftest.py和pytest.ini的区别:
conftest.py放置一些全局变量或者方法
pytest.ini 放置一些命令、规则
项目下创建conftest.py文件:定义一个fixture,设为自动使用,范围为session
import pytest # @pytest.fixture() @pytest.fixture(autouse=True, scope="session") # 当然,这里不默认使用,也不设置scope也一样能被同级和自己目录引用 def fix1(): print("conftest的fix1")
文件同级别下创建test_case_01.py文件
import pytest def test01(fix1): print("test01") assert 1 == 1 if __name__ == '__main__': pytest.main(['-vs'])
项目目录下建立子目录DOC,DOC下创建test_case_01.py文件
def test02(fix1): print("test02") assert 1 == 1
执行项目目录下的test_case_01.py文件:
项目目录下的conftest.py文件里的fixture可以直接被同级和下级目录文件引用。