当前位置: 首页 > news >正文

网站权重为零深圳软装设计公司有哪些

网站权重为零,深圳软装设计公司有哪些,动漫设计与制作培训,cpanel面板 WordPress前言#xff1a;在 pytest 测试框架中#xff0c;注解#xff08;通常称为装饰器#xff09;用于为测试函数、类或方法提供额外的信息或元数据。这些装饰器可以影响测试的执行方式、报告方式以及测试的组织结构。pytest 提供了多种内置的装饰器#xff0c;以及通过插件扩展… 前言在 pytest 测试框架中注解通常称为装饰器用于为测试函数、类或方法提供额外的信息或元数据。这些装饰器可以影响测试的执行方式、报告方式以及测试的组织结构。pytest 提供了多种内置的装饰器以及通过插件扩展的额外装饰器 以下是一些常用的 pytest 装饰器及其用途 1、pytest.mark.parametrize 用于参数化测试允许您为测试函数提供多个参数集pytest 将为每个参数集运行一次测试。示例pytest.mark.parametrize(input,expected, [(1, 2), (3, 4)]) import pytestpytest.mark.parametrize(input,expected, [(1, 2), (3, 4), (5, 6)]) def test_addition(input, expected):assert input 1 expected 在这个例子中test_addition 函数将使用三组不同的参数(1, 2)(3, 4)(5, 6)分别运行三次。  2、pytest.mark.skip 和 pytest.mark.skipif 用于跳过测试。pytest.mark.skip 无条件跳过测试而 pytest.mark.skipif 根据条件跳过测试。示例pytest.mark.skip(reasonNot ready yet) 或 pytest.mark.skipif(sys.version_info (3, 6), reasonPython 3.6 required) import pytest import sys# 无条件跳过 pytest.mark.skip(reasonThis test is not ready yet) def test_not_ready():assert True# 根据条件跳过 pytest.mark.skipif(sys.version_info (3, 6), reasonPython 3.6 required) def test_python_version():assert True 在第一个例子中test_not_ready 函数将被无条件跳过。在第二个例子中如果 Python 版本低于 3.6test_python_version 函数将被跳过。 3、pytest.mark.xfail 和 pytest.mark.xfailif 用于标记预期失败的测试。这些测试将被执行但如果它们失败了则不会被视为错误。示例pytest.mark.xfail(reasonKnown issue) 或 pytest.mark.xfailif(some_condition, reasonCondition not met) 注意pytest.mark.xfailif 不是 pytest 内置的但可以通过类似逻辑实现条件性的 xfail import pytest# 标记预期失败的测试 pytest.mark.xfail(reasonThis is a known issue) def test_xfail():assert False# 可以通过编写一个函数来模拟 pytest.mark.xfailif 的行为 def pytest_xfail_if(condition, reason):def decorator(func):if condition:func pytest.mark.xfail(reasonreason)(func)return funcreturn decorator# 使用模拟的 pytest.mark.xfailif pytest_xfail_if(True, reasonCondition met, expect failure) def test_conditional_xfail():assert False 4、pytest.mark.tryfirst 和 pytest.mark.trylast 用于控制测试的执行顺序尤其是在有多个钩子函数如 setup/teardown 方法时。这些装饰器通常与 pytest 插件中的钩子函数一起使用。 通常与 pytest 插件中的钩子函数一起使用 # 假设有一个 pytest 插件提供了 setup 和 teardown 钩子函数 # 并且我们想要某个测试在这些钩子函数中首先或最后执行 # 注意这里的示例是假设性的因为 pytest.mark.tryfirst 和 pytest.mark.trylast # 通常不直接用于测试函数而是用于钩子函数或插件实现# 假设的 setup 和 teardown 钩子函数实际上需要由 pytest 插件提供 # pytest.hookimpl(tryfirstTrue) # def pytest_setup(): # pass# pytest.hookimpl(trylastTrue) # def pytest_teardown(): # pass# 假设的测试函数实际上不会直接使用 pytest.mark.tryfirst 或 pytest.mark.trylast # pytest.mark.tryfirst # 这通常不会直接用于测试函数 def test_tryfirst():pass# pytest.mark.trylast # 这通常也不会直接用于测试函数 def test_trylast():pass 5、pytest.mark.usefixtures 用于声明测试将使用的 fixture。虽然这不是严格意义上的装饰器因为它不直接修饰函数但它用于指定测试依赖的 fixture。示例pytest.mark.usefixtures(my_fixture) import pytestpytest.fixture def my_fixture():return fixture valuepytest.mark.usefixtures(my_fixture) def test_with_fixture(my_fixture_value):assert my_fixture_value fixture value# 注意在实际使用中pytest 会自动将 fixture 的值注入到测试函数中 # 因此测试函数的参数名应与 fixture 的名称相匹配或使用 pytest.mark.parametrize 来指定参数名。 # 上面的示例中为了说明 pytest.mark.usefixtures 的用法 # 假设了一个名为 my_fixture_value 的参数但在实际代码中应直接使用 my_fixture。 # 正确的用法如下 pytest.mark.usefixtures(my_fixture) def test_with_fixture_correct(my_fixture):assert my_fixture fixture value 在这个例子中test_with_fixture_correct 函数将使用名为 my_fixture 的 fixture。请注意在实际代码中您不需要也不应该在测试函数参数中显式地指定 fixture 的值pytest 会自动将其注入  6、pytest.mark.filterwarnings 用于控制测试期间应如何处理警告。示例pytest.mark.filterwarnings(ignore::DeprecationWarning) import pytest import warningspytest.mark.filterwarnings(ignore::DeprecationWarning) def test_with_warnings():warnings.warn(This is a deprecation warning, DeprecationWarning)assert True 在这个例子中test_with_warnings 函数将忽略 DeprecationWarning 类型的警告。 7、pytest.mark.timeout通过 pytest-timeout 插件提供 用于设置测试的超时时间。如果测试在指定时间内未完成则将被标记为失败。示例pytest.mark.timeout(10)10秒超时 import pytestpytest.mark.timeout(5) # 设置超时时间为5秒 def test_with_timeout():import timetime.sleep(10) # 这将触发超时失败assert True 在这个例子中test_with_timeout 函数将在5秒后超时失败因为 time.sleep(10) 会使测试运行超过指定的超时时间。 8、pytest.mark.flaky通过 pytest-flaky 插件提供 用于标记可能间歇性失败的测试并允许它们在一定数量的重试后通过。示例pytest.mark.flaky(reruns3, reruns_delay2)重试3次每次延迟2秒 import pytestpytest.mark.flaky(reruns3, reruns_delay1) # 设置重试3次每次延迟1秒 def test_flaky():import randomassert random.choice([True, False]) # 这将随机成功或失败 在这个例子中test_flaky 函数将随机成功或失败。如果它失败了pytest-flaky 插件将重试它最多3次每次之间延迟1秒。 9、pytest.mark.order通过 pytest-order 插件提供 用于指定测试的执行顺序。示例pytest.mark.order(1)数字越小执行越早 import pytestpytest.mark.order(1) # 设置执行顺序为1 def test_first():assert Truepytest.mark.order(2) # 设置执行顺序为2 def test_second():assert True 在这个例子中test_first 函数将先于 test_second 函数执行因为它们的执行顺序被分别设置为1和2。 10、自定义标记 您可以使用 pytest.mark.name 语法创建自定义的标记并在测试配置文件中定义它们的行为。示例pytest.mark.my_custom_mark然后在 pytest.ini 或 pytest.mark 文件中定义它 import pytest# 在 pytest.ini 或 pytest.mark 文件中定义自定义标记 # [pytest] # markers # my_custom_mark: This is a custom markerpytest.mark.my_custom_mark # 使用自定义标记 def test_with_custom_mark():assert True 我们定义了一个名为 my_custom_mark 的自定义标记并在 test_with_custom_mark 函数中使用了它。请注意您需要在 pytest 的配置文件中如 pytest.ini 或 pytest.mark定义这个自定义标记以便 pytest 能够识别它。 请注意上述列表中的一些装饰器如 pytest.mark.timeout 和 pytest.mark.flaky是通过 pytest 插件提供的因此在使用它们之前需要确保已安装相应的插件。 在使用这些装饰器时请确保您了解它们如何影响测试的执行和报告以及它们是否适用于您的测试场景。
http://www.tj-hxxt.cn/news/222568.html

相关文章:

  • 网站制作 台州网站排名首页前三位
  • 网站创作规划做网站百灵鸟
  • 石家庄的网站建设公司哪家好手机手机网站制作
  • 有什么网站可以做名片WordPress 布局 企业网站
  • 滑动 手机网站 代码加强图书馆网站建设
  • 一般网站建设大概需要多少钱诚信企业查询系统
  • 福州专业网站设计团队湖南城市建设网站
  • 桂林市建设局网站wordpress置顶重复
  • 做网站建设的公司有哪些深圳策划公司网站
  • 招标网站建设申请报告济南市建设工程招标投标协会网站
  • 常州网站建设推广平台本科自考和专升本的区别
  • 推广平台有哪些渠道台州百度搜索优化
  • 做网站的流程与步骤哪个软件做网站最简单
  • 织梦网站建设视频免费刷seo
  • 建设微网站多少钱wordpress端口
  • 广州网站设计与制作公司在线查询营业执照
  • 自己网站给别人网站做外链怎样做网站的优化排名
  • 微网站怎么免费做上海品划做网站
  • 外贸网站公司网站系统模版
  • 大连企业网站设计网站推广定义
  • 外网网址可以做英语阅读的网站上海注册公司核名在哪个网站
  • 400电话安装佛山营销网站建设本地丹阳网站建设
  • 网络技术开发有限公司关键词优化公司哪家推广
  • 忒低网站长怎么做天元建设集团有限公司法定代表人
  • 建设网站的准备工作能制作网站的软件
  • 什么软件可以找做网站的如皋网站建设招标
  • 承德建站公司建设部网站四库一平台
  • 我想用c 来做网站搭建网站费用
  • 网站流量统计分析广东省建设交易中心网站
  • 空调网站模版太原网站制作报价