当前位置: 首页 > news >正文

Python的Pytest(2)

1、思考: 完整项目框架里每个模块单独用一个py文件管理,

  • 注册模块-py文件,登录模块-py文件 == 放在用例层目录下管理,testcases
  • 多个模块、py文件里的用例,批量执行 == 需要收集所有模块的用例,一起执行。

1、pytest智能自动收集所有用例:pytest.main(): 自动在这个文件所在目录下收集符合命名规则的用例=pytest.main()通常写在入口文件run.py或main.py。

2、pytest.main()收集用例范围
原理: 当前工作目录范围里去找: main所在py文件的目录

  • 跟文件夹的名字 无关。可以放在文件夹里,且文件夹的名字无所谓。
  • py文件名字: test_开头,或者 _test结尾 【 但是一般推荐使用第一种,符合大家的习惯】
  • 用例: 测试用例名字 test开头 | Test开头的类+ test开头方法名字

3、pytest.main([“-v”,“-s”]):-v、-s常用命令行参数
-v:显示更详细的测试信息
-s:即时显示测试过程中的标准输出和标准错误

4、控制台-运行结果:F表示断言失败-用例不通过;. 表示断言成功-用例通过

5、问题:默认执行所有收集到的用例 如果要过滤一些用例来执行?
方式一: 修改文件和用例方法的名字
方式二: 指定目录和文件执行 ,加参数控制 --这个只能过滤模块-py
方式三: 加标签【类比手工测试用例的优先级: P1 P2 P3 P4 (important critical major) high medium low】, 加参数过滤用例
- 用例定义的加一个标签 : 用装饰器形式:@pytest.mark.p2
- 执行的时候 加参数 -m 标签
- 如果没提前注册这个标签 会有一个警告, 避免这个警告: 加一个pytest.ini ,注册标签。

6、思考: 收集到的用例执行顺序是什么? == 如果要改变规则 修改文件名字 或者调整代码里顺序。
-根据模块py文件的名字排序 : 数字,ASCII顺序 0-9a-zA-Z
-文件内部: 从上到下的顺序执行
pytest.ini文件

[pytest]
markers =
        p1
        p2
        p3

run.py文件

import pytest

pytest.main()

# pytest.main(["-v", "-s"])

# 指定目录和文件执行 ,加参数控制 --这个只能过滤模块
# pytest.main(["-v", "-s", r"testcases\test_register.py"])

# 加标签
# pytest.main(["-v", "-s", "-m p1"])
# pytest.main(["-v", "-s", "-m p1 or p2"])

test_02login.py文件

import pytest


def test_demo1():
    assert "登录成功" == "登录成功"


@pytest.mark.p2
def test_demo2():
    assert "用户名或密码错误" == "登录成功"

在这里插入图片描述

相关文章:

  • C语言 常用系统函数
  • 蓝桥云客 找素数
  • reconstruct_3d_object_model_for_matching例子
  • C# WPF编程-Menu
  • 戴尔系列电脑安装UBUNTU系统
  • MySQL事务:确保数据一致性的关键机制
  • fastapi+angular宠物领养系统
  • 基于Nvidia Jetson Nano边缘计算设备使用TensorRT部署YOLOv8模型实现目标检测推理
  • 基于Python+Ollama DeepSeek与MySQL进行数据分析探索
  • apache-maven-3.9.9 详细安装配置教程(2025版)
  • 贪心算法作业参考:P1106,P4995,P5019
  • 2000-2019年各省地方财政税收收入数据
  • 深入剖析React中setState的执行机制与实现原理
  • LeetCode算法题(Go语言实现)_04
  • 深入解析 GORM 的 Model 方法:隐式选择与模型绑定的艺术
  • 【安全运营】用户与实体行为分析(UEBA)浅析
  • 【从零开始学习计算机科学与技术】计算机网络(七)应用层
  • ClickHouse Docker 容器迁移指南:从测试环境到离线正式环境
  • 【css酷炫效果】纯CSS实现大风车旋转效果
  • 【2025】LLM(大模型)开源项目介绍与使用场景
  • 茅台总经理到访五粮液:面对白酒行业周期性调整,需要团结一心的合力
  • 国际金价下跌,中概股多数上涨,穆迪下调美国主权信用评级
  • 对谈|“大礼议”:嘉靖皇帝的礼法困境与权力博弈
  • 国家卫生健康委通报关于肖某引发舆情事件调查处置进展情况
  • 丰富“互换通”产品类型,促进中国金融市场高水平对外开放
  • 时隔3年俄乌直接谈判今日有望重启:谁参加,谈什么