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

怎样建立一个自己的网站石家庄企业网站建设公司

怎样建立一个自己的网站,石家庄企业网站建设公司,郑州网站优化哪家专业,南通营销型网站关注开源优测不迷路 大数据测试过程、策略及挑战 测试框架原理#xff0c;构建成功的基石 在自动化测试工作之前#xff0c;你应该知道的10条建议 在自动化测试中#xff0c;重要的不是工具 当你尝试运行Pytest代码时#xff0c;那些不相关的警告突然弹出#xff0c;是不是… 关注开源优测不迷路 大数据测试过程、策略及挑战 测试框架原理构建成功的基石 在自动化测试工作之前你应该知道的10条建议 在自动化测试中重要的不是工具 当你尝试运行Pytest代码时那些不相关的警告突然弹出是不是感觉很烦人 比如来自某个你无法控制的外部库的 DeprecationWarning弃用警告。 虽然警告有用但它们会让你的控制台输出变得杂乱掩盖重要的结果。 在 Pytest 中要如何消除这些警告呢是不是该禁用所有警告那重要的警告又该怎么办呢 警告是一种重要信号表明你代码中的某些内容可能不太对但不一定是错误比如已弃用的函数或潜在的运行时问题。 它们能帮你在问题升级为更严重的状况之前预先察觉并改正。 在本文中你将学习在 Pytest 中通过不同技巧优雅地处理警告。 首先你会探索 warnings 模块了解它的含义以及不同类型的警告。 接着你将学习 Pytest 默认是如何管理警告的以及如何覆盖配置以满足你的需求同时还会了解一些管理警告的最佳实践。 理解 Python 警告 在深入代码之前我们先来了解一下 Python 中的 warnings 模块是什么以及它最初设计的目的。 warnings 模块是 BaseException 类的扩展用于突出那些值得关注但不像异常那样会导致程序中断的问题。 它可以通知你有关语法或功能的情况这些语法或功能虽然仍能正常工作但在未来的版本中可能不再受支持。 官方文档解释了不同类型的警告 DeprecationWarning警告关于那些预期在未来版本中会被移除的过时特性。UserWarning用户代码生成的警告的基类。SyntaxWarning警告可疑的语法。RuntimeWarning警告可疑的运行时行为。FutureWarning与 DeprecationWarning 类似警告关于那些计划在未来某个时候停止使用的已弃用特性。 你可以使用 warnings 库轻松生成警告例如 warnings.warn(message, categoryNone, stacklevel1) message警告消息通常是一个字符串。category警告类别例如 DeprecationWarning、UserWarning有助于像前面讨论的那样进行过滤。stacklevel一个整数表示报告警告来源时使用的栈帧深度帮助你确定警告是从哪里触发的。stacklevel 为 1 指向 warn() 函数的调用者。 在使用外部库时你经常会遇到 DeprecationWarning 或 SyntaxWarning。 既然你已经对警告有了一些了解那我们接着来看你来这里的初衷 —— 如何在 Pytest 中忽略警告。 毕竟外部库引发的警告不是你的问题可以将其屏蔽。 在 Pytest 中完全禁用警告 你可以使用 --disable-warnings 命令行选项从测试运行输出中完全抑制警告摘要。 $ pytest --disable-warnings 这是一个比较极端的选项有其缺点最大的问题是当出现与你相关且应该处理的警告时你不会知晓因为 Pytest 会过滤掉所有警告。 你还可以使用 -p no:warnings 命令行选项禁用警告捕获。 $ pytest -p no:warnings 或者使用配置文件和 Pytest 的 addoption [pytest]  addopts -p no:warnings 更好的选择是使用 pytest.ini 文件来抑制或过滤特定的警告。 抑制或过滤警告 Pytest 允许你使用 pytest.ini 文件和 filterwarnings 选项轻松地抑制或过滤警告。 这是一个好得多的选项它允许你过滤掉特定的警告而不是所有警告。 [pytest]  filterwarnings          ignore::DeprecationWarning 这个设置将忽略测试模块中的任何 DeprecationWarning。 下面的配置将忽略所有用户警告以及匹配正则表达式的特定弃用警告但会将所有其他警告转换为错误。 [pytest]  filterwarnings        error        ignore::UserWarning        ignore:function ham\(\) is deprecated:DeprecationWarning 抑制或过滤特定库的警告 一种更简洁的方法是忽略引发警告的特定库的警告可以这样做 [pytest]  filterwarnings       ignore::DeprecationWarning:module_name.* 例如 [pytest]  filterwarnings       ignore::DeprecationWarning:botocore.*:      ignore::FutureWarning:pandas.* 这将抑制来自该库的所有警告。 示例代码组织结构如下 examples/my_module.py import warnings     def old_function():      warnings.warn(                old_function() is deprecated; use new_function() instead.,                DeprecationWarning,                          stacklevel2,                      )     def new_function():      print(This is the new function.)       old_function() 运行这段代码我们会得到警告。 $ python examples/my_module.py 让我们编写一个测试。 tests/test_warnings.py import warnings  from examples.my_module import old_function     def test_function():      old_function() 运行测试 $ pytest 示例测试 —— 抑制警告 让我们包含一个 pytest.ini 文件内容如下 [pytest]  filterwarnings       ignore::DeprecationWarning 运行这个测试 很顺利。 让我们在代码中添加一个 SyntaxWarning。 examples/my_module.py def old_function():      warnings.warn(                    old_function() is deprecated; use new_function() instead.,                    DeprecationWarning,                    stacklevel2,                )                      warnings.warn(                    The syntax will be removed in version 2.0.0.,                    SyntaxWarning,                    stacklevel2,                ) 让我们运行 Pytest 如你所见Pytest 抑制了 DeprecationWarning但仍然显示了 SyntaxWarning。 修改我们的 pytest.ini 文件 [pytest]  filterwarnings       ignore::DeprecationWarning            ignore::SyntaxWarning 现在我们得到了一个干净的输出。 你可以对警告及其抑制进行更多尝试。 使用标记过滤警告 Pytest 还提供了使用标记向特定测试和测试模块添加警告过滤器的选项这样能实现更精细的控制。 import warnings  import pytest    def api_v1():      # 生成一个带有特定消息的警告。            warnings.warn(api v1, should use functions from v2, UserWarning)                  return 1          pytest.mark.filterwarnings(ignore:api v1)  def test_one():      # 将忽略消息中包含 api v1 的警告。            assert api_v1()  1 确保代码触发弃用警告 现在如果你处于代码生成端即你想测试你的代码是否触发 DeprecationWarning也可以使用 Pytest 进行测试。 你可以使用 pytest.deprecated_call() 方法。 def test_myfunction_deprecated():      with pytest.deprecated_call():           old_function() 如果 old_function 没有发出弃用警告这个测试将会失败。 结论 我们来到了文章末尾。 希望你找到了一直在寻找的内容 —— 如何在 Pytest 中轻松过滤警告无论是来自你自己的库、外部包甚至是 Pytest 本身的警告。 在本文中我们介绍了一些关于 Python 警告的基础知识它们是什么以及如何使用。 然后我们看了最重要的部分即在 Pytest 中如何禁用或抑制警告特别是来自外部库的警告。 最后你还学习了如何抑制特定库的警告使用 Pytest 标记过滤警告甚至断言你自己的 DeprecationWarning。
http://www.dnsts.com.cn/news/89581.html

相关文章:

  • 上海网络网站建设临河做网站
  • 网站建设启动大会做h5好点的网站
  • 广州正规网站建设哪家好软考哪个证书最有用
  • cadisen卡迪森手表网站如何看一个网站用什么程序做的
  • 网站 谁建设谁负责辽宁建设工程信息网ic
  • 网站上做旅游卖家要学什么软件柳州游戏网站建设
  • 高端网站制作 上海wordpress循环评论
  • 公司网站怎么登录wordpress 4.6.1 exp
  • 株洲建设局网站合肥学习做网站
  • 商务办公名片北京网站建设专业乐云seo
  • 怎么推广自己做的网站哪个网站做app
  • sqlite做网站数据库网站建设初步规划
  • 云南城市建设职业学院网站东胜区建设局网站
  • 技术支持:淄博网站建设企业门户网站系统下载
  • 玩具网站建设策划书流程wordpress如何更换域名
  • 建设网站是什么样的黑龙江省建设网官方网站
  • 京东网上购物官方网站快速开发平台开源
  • 中国网站排名 优帮云微信怎么开店铺
  • 怎么做优化网站排名网站建设需求说明
  • 响应式网站的原理公司内部网站怎么建设
  • 文化墙设计网站推荐餐饮店怎么做营销和推广
  • 深圳网站seo设计山东省建设建设监理协会网站
  • 安阳专业做网站公司需要多长时间
  • 网站挂马怎么处理厦门医院网站建设
  • 数字资产交易网站开发寿光公司做网站
  • 手机免费做网站四川建设网官网安全员证书查询
  • 广州企业网站建设公司哪家好企业建设网站公司名称大全
  • 怎么接做网站私单设计网名的花样符号
  • 关于解决网站 建设经费的请示优秀的界面设计作品及评析
  • 做网站的准备什么软件wordpress 大神