【脚本语言系列】关于Python测试工具docstrings, 你需要知道的事

本文介绍如何通过编写docstrings来进行程序测试。以一个简单的阶乘程序为例,展示了如何利用docstrings编写测试用例,并使用doctest模块进行测试。讨论了测试通过与失败的情况,以及在测试过程中遇到的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如何使用docstrings

编写一个简单的程序来计算阶乘,但该程序没有覆盖所有可能的边界条件。也就是说,某些测试项目是通不过的。

  1. 编写docstring
    """
    Test for the factorial of 3 that should pass.
    >>> factorial(3)
    6

    Test for the factorial of 0 that should fail.
    >>> factorial(0)
    1
    """

这里写图片描述

  1. 编写NumPy代码
def factorial(n):
    return numpy.arange(1, n+1).cumprod()[-1]

这里写图片描述

  1. 执行测试

    1. 完整代码

      import numpy
      import doctest
      
      def factorial(n):
          """
          Test for the factorial of 3 that should pass.
          >>> factorial(3)
          6
      
          Test for the factorial of 0 that should fail.
          >>> factorial(0)
          1
          """
          return numpy.arange(1, n+1).cumprod()[-1]
      
      doctest.testmod()

      这里写图片描述

    2. 详细输出
      这里写图片描述
    3. 简略输出
      这里写图片描述
      由于出现数组为空的情况,得到了一个索引超出边界(index out of bounds)的错误

什么是docstrings

docstring是嵌入在Python代码中的字符串, 其内容看上去有点像交互式的会话。
这些字符串可用来检查某些假设, 或仅仅把他们看作是一些范例代码。
我们需要doctest模块运行这些测试。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值