【发布时间】:2020-10-14 20:26:49
【问题描述】:
我在查看了这两个相似的问题后提出了这个问题:
How to patch multiple repeated inputs in python unit test?
Python mock multiple return values
但都没有令人满意地给我我正在寻找的答案。
我需要能够使用 with 语句而不是装饰器来修补对 input() 的多个调用。
原因是我正在编写的测试不允许我使用装饰器,也不允许修改测试方法的签名以添加模拟输入,如下所示:
@mock.patch('builtins.input')
def test_myMethod(self, mocked_input):
mock_args = ['20', 100]
mocked_input.side_effect = mock_args
res = mymethod()
self.assertEqual(res, 120)
我的问题是如何使用 as with 语句达到相同的效果:
def test_myMethod(self):
with mock.patch('builtins.input', ...)
任何帮助将不胜感激
【问题讨论】:
标签: python unit-testing