pytest中比较高阶的应用是,使用conftest去做测试前置工作、测试收尾工作和参数化。conftest是pytest的一个组件,用于配置测试环境和参数。通过conftest, 可以创建一个可复用的测试配置文件,以便在多个测试模块之间共享配置信息。即,conftest主要用来存放fixture,管理一些全局的fixture.
适用场景:
- 多个测试用例文件(test_*.py)的所有用例都需要用登录功能作为前置操作,那就不能把登录功能写到某个用例文件中去了,这个时候就可以把登录功能写成一个fixture,放到conftest.py里
- 多个case共享一套测试数据
- 多个case共享配置信息
conftest.py配置fixture注意事项
- pytest会默认读取conftest.py里面所有的fixture
- conftest.py文件名称是固定的,不能改动
- conftest.py只对同一个package下的所有测试用例生效
- 不同目录可以有自己的conftest.py, 一个项目可以有多个conftest.py
- 测试用例文件中不需要手动import conftest.py, pytest会自动查找
- 在conftest.py文件中,可以定义函数、类和变量,以供测试用例中使用。这些配置可以通过参数传递给测试用例。配合测试用例中的pytest.mark.parametrize装饰器来传递参数。
- conftest.py如果在项目根目录下,那就是对整个项目下的测试用例生效
conftest结合fixture使用
- scope参数为session: 所有测试.py文件执行前执行一次
- scope参数为module: 每一个测试.py文件执行

最低0.47元/天 解锁文章
2416

被折叠的 条评论
为什么被折叠?



