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

相关内容

热门资讯

明天,老君山景区恢复开园 老君山景区开园公告尊敬的游客朋友:经过景区全力清雪除冰和安全巡查,目前景区主干道及主要游览路线已全面...
“酝味东方,臻享传承”佳乐酒业... 1月29日,佳乐酒业与成都希尔顿酒店强强联合,成功举办“酝味东方,臻享传承”客户答谢品鉴活动。以至臻...
李飞中国烹饪大师 以匠心守本味... 从灶台学徒到国家级烹饪大师,从徽菜传承到享誉海外,李飞用四十余年坚守,铸就徽菜江湖的传奇。以刀为笔、...
奉劝大家:过年,别给孩子买“这... 距离过年还有不到一个月的时间,大家是不是都在准备年货? 每年最开心的就是小孩子了,家长们肯定会给孩子...
尝过就难忘!新疆手抓饭的羊肉香... 作为一位美食博主,我常常穿梭于世界各地,探寻那些能触动灵魂的味觉故事。今天,我要分享的是一种让我久久...