pytest(二十四)--运行上次失败用例(--if 和 --ff)

前言

"80%的bug集中在20%的模块,越是容易出现bug的模块,bug是越改越多"平常我们做手工测试的时候,比如用100个用例需要执行,其中10个用例失败了,当开发修复完bug后,我们一般是重点测上次失败的用例。那么自动化测试也一样,当用例特别多时,为了节省时间,第一次部分用例失败了,修复完之后,可以只测上次失败的用例。

pytest -h

命令行输入pytest -h,找到里面两个命令行参数: --lf 和 --ff

  • --lf --last-failed 只重新运行上次运行失败的用例(或如果没有失败的话,会全跑)
  • --ff --failed-first 运行所有测试,但首先运行上次运行失败的测试(这可能会重新测试,从而导致重复的 fixture setup/teardown)

 --lf 和 --ff

lf是 last-failed的缩写,我第一次运行全部测试用例有1个通过passed,1个失败failed,1个error

# coding:utf-8
import pytest
@pytest.fixture()
def xixi():
    a="zs"
    assert a=='z'
    return a
def test_1():
    print("我是test_1")
    assert 2
def  test_2(xixi):
    print("我是test_2")
    assert xixi=="zs"
def test_3():
    print("我是test_3")
    assert "x"=="ww"
if __name__=="__main__":
    pytest.main("test_m.py")

 如果只想运行其中1个failed和1个error用例,那么可以直接在cms输入指令

pytest -s --lf test_m.py 

备注:若是test_m.py目录下,只有这一个脚本,可直接输入pytest --lf

 如果想先运行上次失败的,后运行其它通过的用例

pytest -s --ff test_m.py

越努力,越幸运!!! good good study,day day up!!!
原文地址:https://www.cnblogs.com/canglongdao/p/13409394.html