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

电子政务建设网站图片挖掘关键词工具

电子政务建设网站图片,挖掘关键词工具,wordpress正版插件,wordpress如何做成app前言#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.pierceye.com/news/108098/

相关文章:

  • 建网站哪个好 优帮云自己怎么注册域名
  • 做3ds磁铁卡网站大连旅顺博物馆
  • 邢台市住房和城乡建设局网站大连网站推广机构
  • 网站建设开标书房地产网页设计
  • 中国建设建设工程造价管理协会网站建设视频网站要求吗
  • 商务网站教程深圳定制纸箱
  • 湖南手机版建站系统哪家好自己做网站地图
  • 天津网站制作报价阿里云需要网站建设方案书
  • 做最好的美食分享网站网站建设客户需求分析
  • 如何重建网站广州市服务好的网站制作排名
  • 做一名优秀网站设计师计划网站描述怎样写
  • 网页二级网站怎么做网监关闭的网站怎么恢复
  • 甘肃省建设监理协会 官方网站国内知名公关公司
  • 如何将网站和域名绑定阿里云1M做网站
  • 南城网站建设公司咨询东莞智通人才网最新招聘
  • app建设网站公司哪家好php网站修改代码
  • 哪些网上订餐的网站做的好地情网站建设
  • 重庆推广网站的方法国内最近的新闻大事
  • 网站需要备案吗网站怎么推广软文
  • 做设计开哪个素材网站的会员好手机免费网站建设哪家公司好
  • 征婚网站认识的男人做定投保做高级电工题的网站
  • 学做饼干的网站汕头建设学校的网站
  • asp.net做网站原理工资卡app下载
  • 做齐鲁油官方网站集团网站建设报价
  • 网站的收录情况怎么查企业网银怎么登录
  • 网站开发会计处理wordpress阅读随机增加
  • 兰州做网站公司哪家好公司网站建设是什么意思
  • 小区物业管理网站开发报告deal 网站要怎么做
  • seo站长助手wordpress 注册侧边栏
  • 做网站是要编程吗那些网站是html5做的