你想为这样的函数编写 unittest
-cases:
def test_me(a):
for b in c:
print do_something(a,b)
起初我想只是将 do_something
的输出收集在一个字符串中,然后将其返回,以一起打印和测试整个输出。但这并不总是很方便,因为这样的循环可能会导致您的缓冲区字符串变得非常大,具体取决于具体情况。那么,当输出被打印并且没有返回时,你可以做些什么来测试输出呢?
最佳答案
print
打印到 sys.stdout
,如果您愿意,您可以将其重新分配给您自己的对象。您的对象唯一需要的是一个 write
函数,它接受一个字符串参数。
从 Python 2.6 开始,您还可以通过将 from __future__ import print_function
添加到脚本顶部,将 print
更改为函数而不是语言结构。这样你就可以用你自己的函数覆盖 print
。
关于python - 如何测试打印语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11122582/