Pytest - 配置文件 - conftest.py
前言
-
如果在多个测试文件中的用到相同的
fixture函数
,则可以将其移动到conftest.py
文件中 -
conftest.py
是专门存放fixture
的配置文件;-
例如:如果测试用例都需要进行用户登录的时候,仅需将登录的功能放到
conftest.py
文件中,而不需要在每个用例中实现; -
例如:每次测试完成后都需要关闭浏览器窗口,仅需将关闭的动作放到
conftest.py
文件中,而不需要在每个用例中实现;
-
注意事项
-
conftest.py
文件名称是固定的,不能变更; -
conftest.py
只对同一个 目录下的所有测试用例生效,包含当前目录下——子目录中的测试用例; -
不同目录可以有自己的
conftest.py
,一个项目中可以有多个conftest.py
; -
pytest
会默认读取conftest.py
里面的所有fixture
;即不需要手动import conftest
,pytest运行后会自动查找;
实际栗子
-
目录结构:
Project/ ├── conftest.py (fixture配置文件) ├── test_py.py (测试用例脚本)
-
配置文件
conftest.py
代码:# conftest.py import pytest @pytest.fixture(autouse=True) def con_login(): print('\n==这是在conftest.py文件中的fixture,会自动运行==') @pytest.fixture def con_quit(): print('==这是在conftest.py文件中的fixture,需要用例中手动引用==')
-
测试用例
test_py.py
代码:# test_py.py import pytest # 手动引用conftest.py文件中的fixture def test_s1(con_quit): print("\n**测试用例 s1:手动引用fixture**") def test_s2(): print("\n**测试用例 s2**") if __name__ == '__main__': pytest.main(['-q', 'test_py.py'])
-
运行后的输出:
标签:12,配置文件,py,fixture,conftest,pytest,测试用例 From: https://www.cnblogs.com/mzline/p/17446914.html