当前位置: 首页 > 工具软件 > pytest > 使用案例 >

【pytest】常见的 pytest 参数及插件

惠诚
2023-12-01

pytest 的常见参数:

  1. -m :只运行被标记的测试用例;
  2. -k:只运行与给定字符串表达式匹配的测试用例;
  3. -s :显示标准输出,例如print()的语句;
  4. -v :显示详细报告;
  5. -q :显示简洁报告;
  6. -x :用例失败时立即停止测试;
  7. -c file :从 file 加载配置文件;
  8. -l  (--showlocals) :用例失败信息回溯时显示局部变量及其值;
  9. -rsxX :报告(r)测试用例被跳过(s)、预计失败(x)、预计失败但实际通过(X)的原因;
  10. -strict:禁止使用未在配置文件(pytest.ini)注册的 mark 标记;
  11. --maxfail=n :失败n后停止运行测试;
  12. --lf  (--last-failed) :仅执行上次失败的用例;                                                                                                                            注意:如果没有失败的用例或者没找到缓存文件,默认是运行所有的用例!
  13.  --lfnf =[all, none] :与 --lf 同时使用,=all 代表找不到用例或缓存文件时执行所有用例,=none 代表找不到用    例或缓存文件时不执行测试用例;
  14. --ff  (--failed-first) :先执行失败的用例,再执行其他用例;
  15. --nf (--new-first) :首先从新文件或新修改的用例开始运行测试;
  16. --sw (--stepwise) :在测试失败时退出,且下一次在测试失败的用例开始测试;
  17. --stepwise-skip :忽略第一个失败的测试,在第二次测试失败时退出;
  18. --keep-duplicates : 不断重复的测试;
  19. --durations=n :显示执行最慢的n条用例;                                                                                                                                注意:除非添加参数 -vv,默认情况下,否则pytest不会显示<0.01s的测试时间;
  20. --fixtures :显示所有可用的 fixture;
  21. --tb=style :堆栈回溯信息打印模式 (auto/long/short/line/native/no]);
  22. --setup-show  :显示fixture执行步骤;
  23. --cache-show=[CACHESHOW] :显示缓存内容,不执行收集或测试;
  24. --cache-clear :运行前清除pytest缓存;
  25. --continue-on-collection-errors:即使发生收集(收集用例阶段)错误,也强制执行测试;
  26. --rootdir=ROOTDIR :定义测试的根目录;
  27. --color=color :终端输出的颜色(yes/no/auto);

  28. --collect-only :只收集用例,不执行;

  29. --assert=MODE : “plain”不执行任何断言调试,“rewrite”重写测试模块中的assert语句,以提供assert表达式信息;

pytest 的常用插件:

  1. 用例失败后自动重新运行:pytest-rerunfailures,使用方法:
    1. 安装插件:pip install pytest-rerunfailures
    2. pytest test_x.py --reruns=n (失败后重运行的次数)
  2. 重复运行测试:pytest-repeat,使用方法:
    1. 安装插件:pip install pytest-repeat
    2. pytest test_x.py --count=n (重复运行的次数)
  3. 多线程执行测试任务:pytest-xdist,使用方法:
    1. 安装插件:pip install pytest-xdist
    2. pytest test_x.py -n [N, auto] (N:指定并发的进程数,auto:自动检测cpu数量)
  4. 为测试设置时间限制:pytest-timeout,使用方法:
    1. 安装插件:pip install pytest-timeout
    2. pytest test_x.py --timeout=n (时间限制,单位:秒)
  5. 用例失败时立刻显示错误的堆栈回溯信息:pytest-instafail,使用方法:
    1. 安装插件:pip install pytest-instafail
    2. pytest test_x.py --instafail
  6. 显示色彩和进度条(也能显示错误的堆栈信息):pytest-sugar,使用方法:
    1. 安装插件即可生效:pip install pytest-sugar
  7. 借助浏览器完成自动化测试:pytest-selenium,可以启动一个浏览器,打开网址,运行web应用,填充表单等等;
 类似资料: