我该如何嘲笑
with closing(StringIO()) as screenshot_stringio:
screenshot.save(screenshot_stringio, format="PNG")
screenshot_as_bytes = screenshot_stringio.getvalue()
假设“屏幕截图”已被模拟。
我尝试了以下不同的排列:
moduleiamtesting.classiamtesting.StringIO = Mock()
moduleiamtesting.classiamtesting.StringIO.getvalue = Mock(return_value="test_bytes")
但无法使其正常工作。我的调试器中的返回值是另一个模拟
答案 0 :(得分:0)
捕获StringIO
的get_value的一种方法是在适当的范围内修补sys.stdout
,而不是直接模拟StringIO
本身。
with mock.patch('sys.stdout', new=io.StringIO('xxx')) as fakeOutput:
self.assertEqual('xxx', fakeOutput.getvalue().strip())
# add your real test here, as no details provided