pytest插件探索assume/ordering/dependency/详解

多重校验 pytest-assume
简单的校验assert,虽然可以写多个assert

 def test_add1(self):
        assert add(2,3)==5
        assert add(1,3)==3
        assert add(2,5)==7

由于第二个断言失败,那么下面的断言就不会执行。
所以如果需要多个断言,都执行就需要第三方插件 pytest-assume

pip install pytest-assume

示例

def test_add2(self):
        pytest.assume(add(1,2)==3)
        pytest.assume(add(1,4)==3)
        pytest.assume(add(2,2)==4)

这边即使第二个断言失败了,第三个断言还是会继续执行

设定执行顺序 pytest-ordering
对于一些上下文依赖的,有时候可能需要设定一些特定执行顺序,pytest的ordering插件,就很好的解决了这个问题

•@pytest.mark.last     —最后一个执行
• @pytest.mark.run(order=1) —第几个执行

pip  install  pytest-ordering

示例

def test_order1():
    print ("first test")
    assert True

def test_order2():
    print ("second test")
    assert True

没有加上ordering,执行顺序是 test_order1----test_order2
加上顺序之后

@pytest.mark.run(order=2)
def test_order1():
    print ("first test")
    assert True
@pytest.mark.run(order=1)
def test_order2():
    print ("second test")
    assert True

加上ordering,执行顺序是 test_order2----test_order1

扩展学习:
pytest-xdist功能:
  开启多个worker进程,同时执行多个测试用例,达到并发运行的效果,大大提升构建效率。
  pytest -n 3

pytest-allure-adaptor功能:
  生成漂亮的allure报告,持续构建推荐使用
pytest-html功能:
  生成html格式报告,本地调试推荐使用
pytest-rerunfailures功能:
  自动重跑失败用例
pytest-cache功能:
  重跑上次失败的用例,持续集成中很实用,提高分析效率,强烈推荐
  --lf      --ff      --nf
pytest-sugar功能:
  改变了pytest的默认外观,增加了一个进度条,并立即显示失败的测试。
pytest-dependency功能:
  用 @pytest.mark.dependency()对所依赖的方法进行标记,使用@pytest.mark.dependency(depends=["test_name"])引用依赖
  另一种方式:用@pytest.mark.dependency(name='a')对所依赖的方法进行标记,使用@pytest.mark.dependency(name="b", depends=["a"])引用依赖

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值