你想写unittest
-类似函数的情况:
def test_me(a):
for b in c:
print do_something(a,b)
起初我想到只是收集输出do_something
放在一个字符串中,然后返回它,以一起打印和测试整个输出。但这并不总是方便的,因为根据具体情况,这种循环可能会导致缓冲区字符串变得非常大。那么,当输出被打印但未返回时,您可以做什么来测试输出呢?
print http://docs.python.org/reference/simple_stmts.html#print打印到sys.stdout http://docs.python.org/library/sys.html#sys.stdout,如果您愿意,您可以将其重新分配给您自己的对象。你的对象唯一需要的是write
采用单个字符串参数的函数。
从Python 2.6开始你也可以改变print
通过添加成为一个函数而不是一个语言构造from __future__ import print_function
到脚本的顶部。这样你就可以覆盖print
与你自己的功能。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)