Python 文档测试

Python内置的“文档测试”(doctest)模块可以直接提取注释中的代码并执行测试。

doctest严格按照Python交互式命令行的输入和输出来判断测试结果是否正确。只有测试异常的时候,可以用‘‘‘表示中间一大段烦人的输出.

class Dict(dict):
    ‘‘‘
    Simple dict but also support access as x.y style.

    >>> d1 = Dict()
    >>> d1[‘x‘] = 100
    >>> d1.x
    100
    >>> d1.y = 200
    >>> d1[‘y‘]
    200
    >>> d2 = Dict(a=1, b=2, c=‘3‘)
    >>> d2.c
    ‘3‘
    >>> d2[‘empty‘]
    Traceback (most recent call last):
        ...
    KeyError: ‘empty‘
    >>> d2.empty
    Traceback (most recent call last):
        ...
    AttributeError: ‘Dict‘ object has no attribute ‘empty‘
    ‘‘‘
    def __init__(self, **kw):
        super(Dict, self).__init__(**kw)

    def __getattr__(self, key):
        try:
            return self[key]
        except KeyError:
            raise AttributeError(r"‘Dict‘ object has no attribute ‘%s‘" % key)

    def __setattr__(self, key, value):
        self[key] = value

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

模块正常导入时,doctest不会被执行。只有在命令行运行时,才执行doctest。

doctest非常有用,不但可以用来测试,还可以直接作为示例代码。通过某些文档生成工具,就可以自动把包含doctest的注释提取出来。用户看文档的时候,同时也看到了doctest。

原文地址:https://www.cnblogs.com/likeyou1/p/8430703.html

时间: 2024-08-29 17:56:51

Python 文档测试的相关文章

python文档测试

def average(values): """ compute average value >>> print(average([20, 30, 10])) 20.0 >>> 上面测试的语法>>> 后面需要空一格,否则测试缩进错误 测试完如果文档还需要写其它注释,则以>>>  结尾,否则这段注释 也会被当为上面测试的输出结果,这样明显不是我们希望的输出结果 :param values: :return:

Python 单元测试 & 文档测试

1.1   单元测试 1.1.1   单元测试编写 单元测试是用来对一个模块.一个函数或者一个类来进行正确性检验的测试工作. 编写一个Dict类,这个类的行为和dict一致,但是通过属性来访问. >>> d = Dict(a=1, b=2) >>> d['a'] 1 >>> d.a 1 class dict编写如下: [[email protected] python]# cat mydict.py #!/usr/bin/python # -*- co

Python学习笔记(二十二)文档测试

摘抄自:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/0014319170285543a4d04751f8846908770660de849f285000 当我们编写注释时,如果写上这样的注释: def abs(n): ''' Function to get absolute value of number. Example: >>> abs(1) 1 >>

Python学习笔记__8.4章 文档测试

# 这是学习廖雪峰老师python教程的学习笔记 1.概览 在文档中编写规范的注释代码.则Python内置的"文档测试"(doctest)模块可以直接提取注释中的代码并执行测试. 1.1.以abs()函数为例: #abs.py def abs(n): ''' # 两个为一对,换行输入 Function to get absolute value of number.  # 简单的介绍 Example: >>> abs(1)   # 测试 1 >>>

python错误处理/调试/单元测试/文档测试

一.错误处理 1.错误处理 try: ... except Exception1: ... except Exception2: ... finally: ... 如果在try中发生错误,那么except将捕获到指定错误,然后执行该段语句;而无论有无错误finally都会执行. 2.示例代码: #-*-coding=utf-8-*- a = 0 try: 10 / a except BaseException: print('a is 0') finally: print('done') 所有异

python 错误、调试、单元测试、文档测试

错误分为程序的错误和由用户错误的输入引起的错误,此外还有因为各种各样意外的情况导致的错误,比如在磁盘满的时候写入.从网络爬取东西的时候,网络断了.这类错误称为异常 错误处理 参考链接:https://www.liaoxuefeng.com/wiki/1016959663602400/1017598873256736 普通的错误处理机制就是在出错的时候返回一个错误代码,但是这样十分不方便,一是因为错误码是和正常结果一样的方式返回的,判断起来十分不方便,二是错误还需要一级一级的向上报,直到错误处理程

三十一 文档测试

如果你经常阅读Python的官方文档,可以看到很多文档都有示例代码.比如re模块就带了很多示例代码: >>> import re >>> m = re.search('(?<=abc)def', 'abcdef') >>> m.group(0) 'def' 可以把这些示例代码在Python的交互式环境下输入并执行,结果与文档中的示例代码显示的一致. 这些代码与其他说明可以写在注释中,然后,由一些工具来自动生成文档.既然这些代码本身就可以粘贴出来直

征python文档撰写技术员

最近频繁使用python,一些不懂的东西就要查一下,好几次到了官网,查了半天都放弃了,直接google了....哎...被Qt的文档宠坏了...如果有python爱好者和我有一样的想法,希望在有生之年再也不用饱受官网文档的折磨的,请联系我([email protected]),我们一起to make life better. 要求:至少要会英文吧,文笔简练,行文流畅,最好是落笔生花的. 声明:这个一个非盈利活动,具体开工日期等人数凑齐再说,另外提供pythoner职位两枚,工作地点武汉,待遇优厚

9.9 Python 文档字符串

9.9 Python 文档字符串. 进入 Python 标准库所在的目录. 检查每个 .py 文件看是否有__doc__ 字符串, 如果有, 对其格式进行适当的整理归类. 你的程序执行完毕后, 应该会生成一个漂亮的清单. 里边列出哪些模块有文档字符串, 以及文档字符串的内容. 清单最后附上那些没有文档字符串模块的名字. import os #import pdb path2search = '/System/Library/Frameworks/Python.framework/Versions