我使用以下代码在python中创建了一个自定义REPL,
def repl():
while True:
try:
line = input('$ ')
do_stuff_with(line)
except EOFError:
print('bye bye')
return
如何测试此功能?我无法弄清楚如何模拟stdin(使用StringIO),发送一些数据,然后发送CTRL-D。或者更好的问题是,创建可测试的REPL的简单方法是什么。注意:我使用的是python 3。