zoukankan      html  css  js  c++  java
  • pytest 常用命令


    pytest -h
    命令行输入pytest -h,找到里面两个命令行参数: --lf 和 --ff
    - --lf, --last-failed   只重新运行上次运行失败的用例(或如果没有失败的话会全部跑)
    - --ff, --failed-first  运行所有测试,但首先运行上次运行失败的测试(这可能会重新测试,从而导致重复的fixture setup/teardown)
    pytest --lf
    pytest --ff


    如果想分布式执行用例,用例设计必须遵循以下原则:
    1.用例之间都是独立的,
    2.用例a不要去依赖用例b
    3.用例执行没先后顺序,
    4.随机都能执行每个用例都能独立运行成功每个用例都能重复运行,不影响其它用例
    这跟就我们平常多个人工测试一样,用例都是独立的,可以随机分配不同人员执行,互相不依赖,用例之间也不存在先后顺序。
    pytest-xdist


    并行测试
    多cpu并行执行用例,直接加个-n参数即可,后面num参数就是并行数量,比如num设置为3
    > pytest -n 3


    测试报告
    使用pytest-xdist插件也能生成html报告,完美支持pytest-html插件
    >  pytest -n 3 --html=report.html --self-contained-html

    重复执行用例:
    使用--count命令行选项指定要运行测试用例和测试次数
    py.test --count=10 test_file.py
    pytest baidu/test_1_baidu.py -s --count=5

    会第一个用例运行5次 然后运行第二个用例5次 如果希望 第一个用例 第二个用例这样按顺序重复5次 要用到--repeat-scope

    pytest tearr_function.py -s --count=5 --repeat-scope=session

    如果要在代码中标记要重复多次的用例 可以使用
    @pytest.mark.repeat(count)

    这样执行用例时候,就不用带上--count参数,只针对test_02重复执行5次
    pytest tearr_function.py -s

    果您正在尝试诊断间歇性故障,那么一遍又一遍地运行相同的测试直到失败是有用的。您可以将pytest的-x选项与pytest-repeat结合使用,以强制测试运行器在第一次失败时停止。例如:
    > py.test --count=1000 -x test_file.py
    这将尝试运行test_file.py 1000次,但一旦发生故障就会停止

  • 相关阅读:
    今年的第几天?
    特殊乘法
    abc
    求最大最小数
    二叉树遍历
    球的半径和体积
    成绩排序
    OC学习篇之---类的定义
    OC学习篇之---第一个程序HelloWorld
    OC学习篇之---类的初始化方法和点语法的使用
  • 原文地址:https://www.cnblogs.com/nuonuozhou/p/10470534.html
Copyright © 2011-2022 走看看