当前位置: 首页 > 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.hkea.cn/news/14592734/

相关文章:

  • 湖北定制型网站建设公路建设管理办公室网站
  • 零基础怎么建设网站wordpress简历模板
  • 佛山外贸网站建设行情合肥网站设计服务
  • 做海报一般都去什么网站看手机网站 生成
  • 丽水企业网站建设网站开发敬请期待
  • 免费注册微信网站中国空间站航天员首次出舱
  • 厦门专业网站建设长沙seo外包服务
  • 网站文字大小代码新加坡网站后缀
  • 找摄影作品的网站汽车之家车报价大全
  • 加强公司网站平台建设的意义学历提升哪个教育机构好一些
  • 织梦能不能做门户网站wordpress论坛用户
  • 怎么打开google网站中国e网网站建设
  • 如何在后台做网站分页快速做网站公司报价
  • 专门做高端网站设计的云华设计wordpress 按时间排序
  • 做图网站有哪些东西开原网站建设
  • 网站建设的总结100字网络工程师培训班在哪里
  • 河南网站开发公司电子商务网站建设实用教程教案
  • 外国人的做视频网站简易做网站
  • 网站排名优化外包价钱xxx网站建设策划书范文
  • 网站 二级域名需要备案吗丛台企业做网站推广
  • 网站建设需要交文化建设税吗旅游网站建设方案书范文
  • 小程序 wordpress如何优化关键词搜索
  • 专业郑州网站建设创建门户网站的方案
  • 外卖平台做网站区块链网站建设
  • 哪个网站做脚本经典wordpress网站
  • wx网站开发ccyycom服务器
  • 没网站做cpa广告联盟在线种子资源网
  • 连云港公司网站优化服务计算机网络技术主要是干什么的
  • app网站开发成本setnet科技网站建设
  • 深圳网站设计电话网站建设 重庆