假设您要为这样的函数编写unittest
:
def test_me(instream):
out = ""
for line in instream:
out += foo(line)
return out
通常像这样使用:
test_me(sys.stdin)
现在,在您的unittest
中,您不想使用sys.stdin
,而是一个模仿sys.stdin
行为的对象,该对象应完全由您控制。通过这种方式,您可以按原样测试功能,并且可以插入您喜欢的任何伪输入。你需要创建什么样的对象?