全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

python中doctest如何嵌入源码?

doctest通过在文档字符串中嵌入交互式示例来测试代码,使用>>>表示输入和期望输出,运行方式包括在模块中调用doctest.testmod()或命令行执行python -m doctest,支持多行输出、异常处理及模糊匹配,适用于函数、类和模块的docstring,确保文档与代码一致性。

在Python中,doctest通过将测试用例写在函数、类或模块的文档字符串(docstring)中来嵌入源码。这些测试看起来就像在交互式Python解释器中的输入输出,doctest会自动提取并运行它们。

基本格式:
在三引号的文档字符串里,使用>>>表示输入,后接期望的输出。例如:

def add(a, b):
    """
    返回两个数的和。

    >>> add(2, 3)
    5
    >>> add(-1, 1)
    0
    """
    return a + b

如何运行嵌入的doctest?

方法一:在代码末尾添加以下内容,直接运行模块:

if __name__ == "__main__":
    import doctest
    doctest.testmod()

保存为 calc.py 后,在命令行执行:
python calc.py —— 如果没有输出,说明所有测试通过。
加上 -v 参数可查看详细过程:python calc.py -v

方法二:从命令行单独运行doctest:

python -m doctest calc.py
python -m doctest -v calc.py  # 显示详情

支持多行输出与异常测试

doctest能处理复杂场景,比如多行返回值或异常:

def divide(a, b):
    """
    执行除法,b为0时抛出异常。

    >>> divide(6, 2)
    3.0

    >>> divide(1, 3)  # doctest: +ELLIPSIS
    0.33...

    >>> divide(1, 0)  # doctest: +IGNORE_EXCEPTION_DETAIL
    Traceback (most recent call last):
    ZeroDivisionError: division by zero
    """
    return a / b
  • 使用 # doctest: +ELLIPSIS 可模糊匹配部分输出。
  • # doctest: +IGNORE_EXCEPTION_DETAIL 忽略异常类型的细节,只检查是否抛出指定异常。

适用位置灵活

doctest可嵌入:

  • 函数的 docstring
  • 类的 docstring
  • 模块的 docstring(文件开头)

只要包含符合格式的交互示例,都能被识别和执行。

基本上就这些。把测试写进文档,既保证了文档的准确性,又实现了轻量级测试。


# python  # ai  # string类 


相关文章: 怎么将XML数据可视化 D3.js加载XML  如何在阿里云购买域名并搭建网站?  宝华建站服务条款解析:五站合一功能与SEO优化设置指南  如何在IIS中新建站点并配置端口与物理路径?  网站制作软件有哪些,制图软件有哪些?  网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?  佛山网站制作系统,佛山企业变更地址网上办理步骤?  外贸公司网站制作哪家好,maersk船公司官网?  清除minerd进程的简单方法  如何有效防御Web建站篡改攻击?  招贴海报怎么做,什么是海报招贴?  宝塔建站后网页无法访问如何解决?  如何通过主机屋免费建站教程十分钟搭建网站?  高端云建站费用究竟需要多少预算?  PHP 500报错的快速解决方法  教育培训网站制作流程,请问edu教育网站的域名怎么申请?  建站主机核心功能解析:服务器选择与网站搭建流程指南  利用JavaScript实现拖拽改变元素大小  如何选择高效响应式自助建站源码系统?  如何通过西部数码建站助手快速创建专业网站?  洛阳网站制作公司有哪些,洛阳的招聘网站都有哪些?  沈阳个人网站制作公司,哪个网站能考到沈阳事业编招聘的信息?  详解jQuery中基本的动画方法  如何在IIS中配置站点IP、端口及主机头?  陕西网站制作公司有哪些,陕西凌云电器有限公司官网?  如何在企业微信快速生成手机电脑官网?  建站之星收费标准详解:套餐费用及年费价格表一览  兔展官网 在线制作,怎样制作微信请帖?  网站制作需要会哪些技术,建立一个网站要花费多少?  如何确保FTP站点访问权限与数据传输安全?  实惠建站价格推荐:2025年高性价比自助建站套餐解析  如何选择PHP开源工具快速搭建网站?  企业网站制作费用多少,企业网站空间一般需要多大,费用是多少?  香港服务器建站指南:外贸独立站搭建与跨境电商配置流程  SAX解析器是什么,它与DOM在处理大型XML文件时有何不同?  如何自定义建站之星模板颜色并下载新样式?  网站制作模板下载什么软件,ppt模板免费下载网站?  头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?  定制建站方案优化指南:企业官网开发与建站费用解析  济南网站建设制作公司,室内设计网站一般都有哪些功能?  济南企业网站制作公司,济南社保单位网上缴费步骤?  网站图片在线制作软件,怎么在图片上做链接?  制作充值网站的软件,做人力招聘为什么要自己交端口钱?  如何在IIS7上新建站点并设置安全权限?  网站建设制作需要多少钱费用,自己做一个网站要多少钱,模板一般多少钱?  如何在阿里云香港服务器快速搭建网站?  东莞专业网站制作公司有哪些,东莞招聘网站哪个好?  网站制作难吗安全吗,做一个网站需要多久时间?  移民网站制作流程,怎么看加拿大移民官网?  宿州网站制作公司兴策,安徽省低保查询网站? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。