Pytest框架学习笔记
一、addopts参数说明
-s:输出调试信息,包括print打印的信息
-v:显示更详细的信息
-q:显示简略信息,与-v作用相反
-p no:warning :过滤警告
-p no:randomly :disable随机执行
-n=num:启用多线程或分布式运行测试用例。需要安装pytest-xdist插件模块
-k=value:py文件中用例包含value的用例都会被执行
-m=标签:执行被@pytest.mark.标签名标记的用例
-x:只要有一个用例执行失败就停止当前线程的测试执行
–maxfail=num:与-x功能一样,可以自定义用例失败次数
–rerun=num:失败用例重跑,需要安装pytest-rerunfailures插件模块
-l:展示运行过程中的全局变量和局部变量
–collect-only:罗列出所有当前目录下所有的测试模块,测试类及测试函数
–ff:如果上次测试用例出现失败的用例,当使用–ff后,失败的测试用例会首先执行,剩余的用例也会再次执行
–lf:当一个或多个用例失败后,定位到最后一个失败的用例重新运行,后续用例会停止运行
–html=report.html:当前目录生成名为report.html的测试报告,需要安装pytest.html插件模块
二、pytest中的fixture
pytest中的fixture就是对于测试前后进行预备、清理工作的代码分离出核心测试逻辑的一种机制。类似于setup、teardown这种前后置的东西。
fixture的目的就是提供一个固定的基线,在该基础上测试可以可靠的和重复的执行。
pytest中是按照fixture的名称来搜索fixture的,搜索的顺序是:
- 优先搜索当前测试所在类
- 再搜索当前测试所在的模块
- 然后搜索conftest.py
- 接下来搜索内置的fixture
- 最后搜索第三方插件
fixture的用途
- 测试前后的初始化设置,如测试数据准备&