你想写unittest
- 像这样的函数的案例:
def test_me(a):
for b in c:
print do_something(a,b)
首先,我想到只是在字符串中收集do_something
的输出然后返回它,一起打印和测试整个输出。但它并不总是很方便,因为这样的循环可能会导致缓冲区字符串变得非常大,具体取决于具体情况。那么,在打印并且不返回输出时,您可以做些什么来测试输出?
答案 0 :(得分:12)
print
会打印到sys.stdout
,如果您愿意,可以将其重新分配给您自己的对象。你的对象唯一需要的是一个write
函数,它接受一个字符串参数。
从Python 2.6开始,您也可以通过在脚本顶部添加print
来将from __future__ import print_function
更改为函数而不是语言构造。这样您就可以使用自己的函数覆盖print
。
答案 1 :(得分:2)
在Python 3中,它在内置@Override
public void setValueAt(Object aValue, int rowIndex, int columnIndex) {
data[rowIndex][columnIndex] = aValue;
}
函数上易于使用unittest.mock
:
print