【开篇】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

相关内容

热门资讯

穿越天山遇见四季童话:新疆深度... 穿越天山遇见四季童话:新疆深度旅行指南与秘境故事 序章:一封来自西域的情书 每年六月,当伊犁河谷的薰...
从戈壁到花海:一位新疆本地向导... 从戈壁到花海:一位新疆本地向导的四季旅行手记 在新疆生活了近二十年,我依然记得第一次被这片土地震撼的...
穿越军 - 穿越中国亲子挑战赛... 以前总带孩子去各地旅游,打卡景点、吃美食,回来之后孩子除了照片,什么都没留下,直到带他参加穿越军亲子...
2026最新山东旅行社综合实力... 随着 2026 年旅游市场持续升温,山东凭借 "一山一水一圣人" 的独特魅力和丰富的文旅资源,成为国...
二十年,再赴大熊山 人间忽晚,山河已秋。一别大熊山,已是整整二十载。 那时我匆匆登临,步履轻快,眼里只有山川壮阔、林木葱...