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

相关内容

热门资讯

修文猕猴桃成熟上市!奉上修文秋... 秋光正好,果香漫山。经过一整个夏天阳光雨露的滋养,修文贵长猕猴桃,9月10日后陆续成熟上市。果肉绵密...
多重礼遇!惠州送出“惠师文旅大... 2026年9月10日是我国第42个教师节。南都记者从惠州市教育局获悉,为庆祝2026年教师节,大力弘...
把音乐厅搬进喀斯特溶洞是什么体...   近日,一场融合多元艺术形式的洞穴音乐会在贵州省修文县举行,五百余名观众在喀斯特溶洞之中,感受了一...
教师专享福利!北京这些景区免票... 新京报讯 据首都教育消息,教师节将至,北京多家景区为老师们准备了专属免票福利!这份优惠合集已整理好,...
黑茶,喝的是一种境界与健康 在专门用来喝黑茶的茶具“飘逸杯”里,黑茶茶汤看起来并不像“黑茶”这个名字那样黑黢黢的一团。 玻璃器皿...