Python测试框架之--doctest

来源:互联网 发布:小灰熊软件制作 编辑:程序博客网 时间:2024/06/06 01:00

Python 标准库中,模块 doctestunittest 可以用来对代码进行测试,doctest的使用相对unittest要简单。它允许你在函数内部或模块开头加入一些特殊的注释,这些注释就是测试程序代码。单独执行模块,pyhon可以自动对模块进行测试。

下面是一个很简单的例子,计算模块 calculate.py的代码如下,三引号里是希望执行函数时得到的结果:

'''
   >>> minus(5,3)
   2
'''

def add(a, b):
    '''This is a example of doctest
       >>> add(1, 2)
       3
       >>> add(1, 3)
        5
    '''
    return a + b

def minus(a, b):
    return a - b

def _test():
    import doctest
    doctest.testmod()

if __name__ == "__main__":
    _test()

当单独执行模块 python calculate.py时,得到结果如下:

**********************************************************************
File "calculate.py", line 10, in __main__.add
Failed example:
    add(1, 3)
Expected:
    5
Got:
    4
**********************************************************************
1 items had failures:
   1 of   2 in __main__.add
***Test Failed*** 1 failures.

语句说明函数没有达到预期的效果,有误。若需要看所有的检测结果,在执行时加-V参数就可以了,很方便。


原创粉丝点击