【开篇】2023年pytest自动化测试框架教程 - 快速入门
admin
2024-05-09 14:20:19

以下总结基于:7.2.x

官网:https://docs.pytest.org/en/7.2.x/

安装

$ pip install -U pytest
$ pytest --version
pytest 7.2.0

入门

0. 常用命令

$ pytest --version  # 查看`pytest`版本(或检查是否安装成功)
$ pytest --fixtures  # 查看`pytest`自带的函数
$ pytest -h | --help  # 获取帮助
$ pytest --durations=10 --durations-min=1.0  # 获取测试执行时间大于1秒的10个用例
$ pytest -p some_plugins  # 提前加载插件
$ pytest -p no:some_plugins  # 禁用插件

1. 命名规范

按照以下命名规则,pytest会自动找到(collect)并导入(import)

  • 测试文件(module)名称

    • test_*.py

    • *_test.py

  • 测试函数(function)名称

    • func test_xxx()
  • 测试类(class)名称

    • class TestXXX()

2. 执行测试

  • module执行测试
    pytest test_*.py
  • 运行某个目录下的所有测试
    pytest testing/ # pytest会自动导入(import)当前目录或其子目录下的以test_*.py*_test.py的测试文件
  • 按关键字执行(按提供的字符串不区分大小写模糊匹配,会自动匹配module/class/func)
    pytest -k “test_file_names/class_names/function_names
    • 【特别的】pytest -k “类名 and not 方法名”
      • 模糊匹配含“类名”的所有类,并匹配到这些类下的所有方法
      • 排除含”方法名“的方法
  • node ids执行测试
    • node ids组成:由文件名、类名、方法名、参数组成,使用::分隔
    • 执行module下的某个func
      • pytest test_mod.py::test_func
      • pytest test_mod.py::TestClass::test_func
  • marker执行测试
    • pytest -m marker_name
      • marker定义方法:加上@pytest.mark.marker_name的语法糖即可
  • packages执行测试
    • Pytest --pyargs pkg.testing

相关内容

热门资讯

敦煌壁画的守护人--敦煌戈徒旅... 昨天刷抖音本来是想随便打发下时间,结果一个“穿越千年的敦煌色彩”的视频直接把我钉在原地,越看越入迷,...
湖南红色旅游主题口号及形象标识... 近日,由湖南省文化和旅游厅主办的湖南红色旅游主题口号及形象标识(LOGO)征集活动圆满结束,获奖作者...
2024年山西省旅游业大数据报... 今天分享的是:2024年山西省旅游业大数据报告 报告共计:20页 2024年山西省旅游业实现高质量增...
中国跻身南极第二大客源国,深圳... 深圳商报·读创客户端记者 范宏韬 11月18日,俞敏洪一连发布10条南极旅行视频,从穿越德雷克海峡到...
螺髻山温泉撷影 螺髻山温泉位于四川省凉山彝族自治州普格县螺髻山镇,该景区是我国山地中极为罕见且保存完好的第四纪古冰川...