新网创想网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇文章将为大家详细讲解有关python中doctest怎么嵌入源码,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
目前创新互联建站已为1000+的企业提供了网站建设、域名、网页空间、网站改版维护、企业网站设计、那坡网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。下面的代码只有一个函数,里面嵌入了两个doctest测试用例,文件名为naruto.py:
''' 这个例子展示如何在源码中嵌入doctest用例。 '>>>' 开头的行就是doctest测试用例。 不带 '>>>' 的行就是测试用例的输出。 如果实际运行的结果与期望的结果不一致,就标记为测试失败。 ''' def multiply(a, b): """ >>> multiply(4, 3) 12 >>> multiply('a', 3) 'aaa' """ return a * b if __name__=='__main__': import doctest doctest.testmod(verbose=True)
有两个地方可以放doctest测试用例,一个位置是模块的最开头,另一个位置是函数声明语句的下一行(就像上面的例子这样)。除此之外的其它地方不能放,放了也不会执行。
verbose参数,如果设置为True则在执行测试的时候会输出详细信息。默认是False,表示运行测试时,只有失败的用例会输出详细信息,成功的测试用例不会输出任何信息。
将上面提到的文件放在D盘(或者其他你觉得方便的目录),打开cmd命令行,切换到naruto.py所在的目录(我的在D盘),输入下面代码:
python naruto.py
输出结果为:
Trying: multiply(4, 3) Expecting: 12 ok Trying: multiply('a', 3) Expecting: 'aaa' ok 1 items had no tests: __main__ 1 items passed all tests: 2 tests in __main__.multiply 2 tests in 2 items. 2 passed and 0 failed. Test passed.
上面启动测试的方式是在__main__函数中调用了doctest.testmod()方法。
如果__main__函数有其他用途,不方便调用doctest.testmod()方法,那么可以用另外一种执行测试的方法,在cmd中输入:
$ python -m doctest naurto.py $ python -m doctest -v naruto.py
关于python中doctest怎么嵌入源码就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。