pytest使用 小结

本文详细介绍了pytest测试框架的使用,包括测试文件和函数的命名规范、命令行执行选项、测试用例的筛选与重复执行、setup与teardown操作、fixture的使用、测试报告的生成以及parametrize参数化等特性。还提到了pytest的一些高级用法,如conftest.py配置文件、fixture的scope管理、autouse=True自动执行以及如何处理测试失败的情况。
摘要由CSDN通过智能技术生成

pytest是一个使构建简单和可扩展测试变得容易的框架。

命名

文件名必须是test_开头 或_test结尾的.py文件

类名必须是Test开头

测试函数以test_开头;_test结尾不可以(如b_test());

文件夹(包名)名可以随意命名

cmd下执行测试

1.执行当前cmd所在目录下的所有用例  #默认执行文件名为test_*.py或*_test.py的文件

pytest 或py.test 或python -m pytest 

2.执行某一个py文件下的用例

pytest test_1.py

pytest -q test_1.py #输出保持简短,只显示结果

pytest -s #显示用例的打印信息

3.按节点运行

运行.py模块里面的某个函数  pyest 脚本名::函数名,如pytest test_a.py::test_1

运行.py模块里面,测试类里面的某个方法  pytest 脚本名::类名::方法名,如pytest b_test.py::Testa::test_2

4.-x 遇到错误时停止测试

pytest -x test_a.py

5.--maxfail=num

当用例错误个数达到指定数量num时,停止测试

6.执行上次失败用例

--lf last-failed (包含failed和error用例)

--ff failed-first

pytest -s --lf 

pytest -s --ff (先运行上次失败的,后运行其他通过的用例)

7.重复执行用例(pytest-repeat)

pytest -s --count=5 (当前文件夹下,所有测试用例重复执行5次,一个用例执行5次后,再执行另一个用例5次)

pytest -s --count=3 --repeat-scope=session #所有用例执行1次后,再执行1次,再执行一次

repeat-scope也可以=function(默认),class,module

针对某个测试用例重复多次,可以加装饰器@pytest.mark.repeat(5)

--count是针对无装饰器的重复

重复测试直至失败

pytest --count=n -x test_1.py,尝试运行test-1.pyn次,一旦发生失败,就停止

pycharm执行pytest用例

设置默认测试执行器为pytest

 前置setup、后置teardown操作(对整个脚本,全局生效)

函数式(类外):setup_function(), teardown_function()

  def setup_function():

    print("每个用例开始前都会执行")

.py模块级:setup_module(),teardown_module()

  def teardown_module():

    print("所有用例结束后,关闭浏览器")

类里或类外,setup(), teardown(),每个方法/函数用例前后执行;

类里

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值