zoukankan      html  css  js  c++  java
  • 多个断言连续执行pytest-assume && try except assert 错误思路

    前言:

    在使用多个断言时,第一个断言失败,程序会终止,不会执行后面的断言

    思路一(正确):pytest-assume

    1.pytest-assume

    pip install pytest-assume

    实例

    import pytest
    
    @pytest.mark.parametrize(('x', 'y'),
                             [(1, 1), (1, 0), (0, 1)])
    def test_simple_assume(x, y):
        print("测试数据x=%s, y=%s" % (x, y))
        pytest.assume(x == y)
        pytest.assume(x+y > 1)
        pytest.assume(x > 1)
        print("测试完成!")

    运行结果:上一个断言失败不会影响下一个断言的执行

    上下文管理器

    import pytest
    from pytest import assume
    
    
    @pytest.mark.parametrize(('x', 'y'),
                             [(1, 1), (1, 0), (0, 1)])
    def test_simple_assume(x, y):
        print("测试数据x=%s, y=%s" % (x, y))
        with assume: assert x == y
        with assume: assert x+y > 1
        with assume: assert x > 1
        print("测试完成!")

    思路二: 使用try except  assert

    try:
        assert 1 == 2
    assert 1 == 1
    except: print('abudengb') try: assert a > b except: print('a不大于b')

    这样是不对的,因为这样程序不会报错,allure测试报告为通过

  • 相关阅读:
    修改input:file样式
    gruntjs
    C#Lambda表达式
    C#委托与事件讲解(一)
    Linq的语法以及常用的扩展方法
    正则表达式就这么简单!
    C#参考之sealed密封类(转)
    Python学习(六)
    Python学习(一)
    自动化测试之JDBC连接、分布式负载
  • 原文地址:https://www.cnblogs.com/bigbox/p/13149899.html
Copyright © 2011-2022 走看看