zoukankan      html  css  js  c++  java
  • pytest--函数

    pytest.approx(num):断言两个数字(或两组数字)在某个容差范围内彼此相等。
    由于浮点运算的复杂性,我们直觉期望相等的数字并不总是如此,此时可使用。
    from pytest import approx >>> 0.1 + 0.2 == approx(0.3) True
     
    pytest.fail(msg='', pytrace=True): 使用给定消息显式地设置用例为失败状态。
    参考:Skip和xfail:处理无法成功的测试
    参数:
    • msg(str) - 显示用户失败原因的消息。
    • pytrace(bool) - 如果为false,则msg表示完整的失败信息,并且不报告任何python回溯。
    pytest.skip(msg[, allow_module_level=False]): 使用给定消息跳过测试用例。
    应仅在测试(设置,调用或拆除)期间或使用allow_module_level标志在收集期间调用此函数。此函数也可以在doctests中调用。
    参数:
    • allow_module_level(bool) - 允许在模块级别调用此函数,跳过模块的其余部分。默认为False。
    注意:最好在可能的情况下使用pytest.mark.skipif标记来声明在某些条件下跳过的测试,例如不匹配的平台或依赖项。
     
     
    pytest.importorskip(modname, minversion=None, reason=None): 导入并返回模块modname,或者如果无法导入模块,则跳过当前测试。
    参数:
    • modname(str) - 要导入的模块的名称
    • minversion(str) - 如果给定,导入的模块__version__属性必须至少为此最小版本,否则仍会跳过测试。
    • reason(str) - 如果给定,则无法导入模块时,此原因显示为消息。
    pytest.xfail(reason=''): 强制标记失败测试用例或测试准备函数,可给定原因。
    只能在测试函数或setup函数或teardown函数中使用此函数。
    注意:最好在可能的情况下使用pytest.mark.xfail标记
     
    pytest.exit(msg, returncode=None): 退出测试过程。
    参数:
    • msg(str) - 退出时显示的消息。
    • returncode(int) - 返回退出pytest时使用的代码。
    pytest.main(args=None, plugins=None): 进程内执行测试运行,返回值为退出码。
    参数:
    • args- 命令行参数列表。
    • plugins- 初始化期间要自动注册的插件对象列表。
    pytest.param(*values[, id][, marks]): 给pytest.mark.parametrize指定参数。
    @pytest.mark.parametrize("test_input,expected",[("3+5",8), pytest.param("6*9",42,marks=pytest.mark.xfail),]) def test_eval(test_input,expected): assert eval(test_input) == expected
    参数:
    • values- 按顺序的参数集值的变量args。
    • id(str) - 属于此参数集的id。
    • 标记- 要应用于此参数集的单个标记或标记列表。
     
    pytest.raisesraises(expected_exception: Exception[, match]) 断言代码块/函数调用会引发expected_exception或引发失败异常。
    参数:
    • match- 如果指定,则断言异常与text或regex匹配
    1.使用pytest.raises的上下文管理器,这将捕获特定类型的异常:
    >>> with raises(ZeroDivisionError): ... 1/0
    如果代码块没有引发预期的异常,或者根本没有异常,则检查将失败。
     
    2.还可以使用keyword参数match来断言异常与text或regex匹配:
    >>> with raises(ValueError,match='must be 0 or None'): ... raise ValueError("value must be 0 or None") >>> with raises(ValueError,match=r'must be d+/pre>): ... raise ValueError("value must be 42")
     
    3.上下文管理器生成一个ExceptionInfo对象,可用于检查捕获的异常的详细信息:
    with raises(ValueError) as exc_info: ... if value > 10: ... raise ValueError("value must be <= 10") ... >>> assert exc_info.type is ValueError
     
    pytest.warns(expected_warning: Exception[, match]): 断言代码会引发一类特定的警告。
    具体来说,参数expected_warning可以是警告类或警告类序列,并且with块内部必须发出该类或类的警告。
    该助手生成一个warnings.WarningMessage对象列表,每个警告引发一个对象。
    此函数可用作上下文管理器,pytest.raises也可以使用任何其他方法:
    with warns(RuntimeWarning): ... warnings.warn("my warning",RuntimeWarning)
     
     

  • 相关阅读:
    【计算机图形学】变换 (Transform)
    [图像处理]基于 PyTorch 的高斯核卷积
    [PyTorch] torch.squeee 和 torch.unsqueeze()
    【图像分析】边缘检测中的图像梯度以及各种梯度算子的介绍
    你买的课程看了吗?
    为什么用抓包工具看HTTPS包是明文的
    定制化Fiddler
    软件测试常见网络相关面试题
    单线程和多线程执行对比—Python多线程编程
    多线程实践—Python多线程编程
  • 原文地址:https://www.cnblogs.com/absoluteli/p/13985056.html
Copyright © 2011-2022 走看看