gpt4 book ai didi

python - 在 Python 中模拟标准输出

转载 作者:行者123 更新时间:2023-11-28 16:37:07 24 4
gpt4 key购买 nike

我是 Python 单元测试的新手,尤其是 Mock。我将如何模拟一个可以执行以下操作的对象?我只需要一个不会使循环崩溃的对象,以完成测试。

for ln in theMock.stdout.readlines()

我试着通过做来创建一个模拟

Mock(stdout=Mock(readlines= Lambda: []))

Mock(stdout=Mock(spec=file, wraps=StringIO())

但是它说列表对象没有属性 stdout

最佳答案

这个怎么样?

from mock import Mock

readlines = Mock(return_value=[])
stdout = Mock(readlines=readlines)
theMock = Mock(stdout=stdout)
print(theMock.stdout.readlines())

输出:

[]

您的 for 循环将被跳过,因为 readlines() 将返回一个空列表。

关于python - 在 Python 中模拟标准输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24542878/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com