【发布时间】:2015-11-25 15:23:12
【问题描述】:
我有一个带有字典作为关联数组的模块来实现一种 switch 语句。
def my_method1():
return "method 1"
def my_method2():
return "method 2"
map_func = {
'0': my_method1,
'1': my_method2
}
def disptach(arg):
return map_func[arg]()
如何在测试中模拟 my_method1?我尝试了以下方法但没有成功:
import my_module as app
@patch('my_module.my_method1')
def test_mocking_sample(self, my_mock):
my_mock.return_value = 'mocked'
assert_equal('mocked',app.dispatch('0'))
有什么想法吗?
【问题讨论】:
-
我想你必须模拟 dispatch('0') 而不是 my_method1。这是使用 arg '0' 调用时的模拟调度。
标签: python unit-testing python-mock