【发布时间】:2013-12-06 08:28:55
【问题描述】:
我正在使用 Mock 进行 Python 单元测试。我正在测试一个函数foo,它包含一个不返回任何内容的函数bar,但会填充一个变量x(类型:io.StringIO)作为副作用。我已经使用 MagicMock 模拟了 bar,但我不知道如何从测试脚本中分配给 x。
我有以下情况:
def foo():
x = io.StringIO()
bar(x) # x is filled with some string by bar method
here some operation on x
要为foo 编写单元测试用例,我使用 MagicMock 模拟了bar(返回值=None),但如何分配给x,这是foo 需要的。
【问题讨论】:
-
你能更清楚你想要什么吗?
-
变量是传递给嵌套函数,还是仅仅依赖闭包?
标签: python unit-testing mocking