python – 我想在pytest测试中使用stdin

PyTest文档声明stdin被重定向到null,因为没有人会想要在批处理测试上下文中进行交互式测试.这是事实,但交互并不是stdin的唯一用途.我想测试使用stdin的代码,就像使用任何其他文件一样.我很高兴stdout和sterr被捕获,但是如何实际将stdin连接到io.StringIO对象,以符合PyTest的方式说? 最佳答案 你可以
mock it

def test_method(monkeypatch):
    monkeypatch.setattr('sys.stdin', io.StringIO('my input'))
    # test code
点赞