第十六章:开发工具-doctest:通过文档完成测试-运行测试-由模块运行

16.2.7 运行测试
前面的例子都使用doctest内置的命令行测试运行工具。测试单个模块时,这很容易也很方便,不过随着包划分到多个文件,这很快会变得很麻烦。对于这些情况,很多其他方法会更高效。

16.2.7.1 由模块运行
可以在模块最下面包含相应指令来对源代码运行doctest。

def my_function(a,b):
    """
    >>> my_function(2,3)
    6
    >>> my_function('a',3)
    'aaa'
    """
    return a * b

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

只有当前模块名是__main__时才会调用testmod(),这可以确保仅当模块作为主程序调用时才会运行测试。
在这里插入图片描述
testmod()的第一个参数是一个模块,包含需要扫描的代码(检查其中是否有测试)。其他测试脚本可以使用这个特性导入实际代码,并依次运行各个模块中的测试。

import doctest_simple

if __name__ == '__main__':
    import doctest
    doctest.testmod(doctest_simple)

通过导入各个模块并运行它们的测试,可以为工程构造一个测试套件。
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值