配置文件:
配置文件一般存在项目的根目录下,官方文档介绍了四种配置文件,每种文件有各自的用处。
pytest.ini:主配置文件,最常用,优先级最高
tox.ini :可以理解为pytest.ini的另一种写法,二者选择使用其一即可
setup.cfg : 通用配置文件,除非非常简单的用例,否则不建议使用
conftest.py:本地的插件库,主要用于存放fixture,其中的hook函数和fixture将作用于该文件所在的目录以及所有子目录
我们只重点学习pytest.ini和conftest.py
conftest.py
和@pytest.fixture()
结合使用fixture的session优先级最高
fixture的class级别高于setup_class,也就是先执行fixture的scope="class"代码
fixture的function级别高于setup,即先执行fixture的scope="function"代码
3、案例
conftest.py文件
import pytest @pytest.fixture(scope='function',autouse="autouse") def login1(): print("打印conftest配置文件下scope='function'内容") return 1234 # print("打印yield返回文件") @pytest.fixture(scope="session",autouse="autouse") def logi2(): print("打印conftest配置文件下的scope='session'内容") @pytest.fixture() def add(): print("这是conftest配置文件add")
testthree.py文件
class TestThree: def setup(self): print("执行测试用例setup开始") def teardown(self): print("执行测试teardown结束") def setup_class(self): print("行测试模类中执行一次开始setup_class") def teardown_class(self): print("执行测试类中执行结束一次teardown_class") def test_one(self,add): print("执行测测试用例test_one") return 123 def test_two(self): print("执行测试用例two") assert 4 + 5 == 9 def test_add(self): print("执行测试用例test_add")
输入结果: