(我是蟒蛇新手)
我在看:模拟对象和方法
而且我想知道是否可以替换未作为参数传递的python方法中的对象,可以说我的方法是这样的:
def mypymethod(param1)
myresult = os.path.something
return myresult
我希望测试 mypymethod 但是我希望os.path 在这种情况下在我从我的测试方法中调用它时返回“yourmockresult”
反正我能做到吗?谢谢!!
(我是蟒蛇新手)
我在看:模拟对象和方法
而且我想知道是否可以替换未作为参数传递的python方法中的对象,可以说我的方法是这样的:
def mypymethod(param1)
myresult = os.path.something
return myresult
我希望测试 mypymethod 但是我希望os.path 在这种情况下在我从我的测试方法中调用它时返回“yourmockresult”
反正我能做到吗?谢谢!!
您应该使用 Michael Foord 的Mock模块。
从文档中:
>>> from mock import Mock
>>> real = ProductionClass()
>>> real.method = Mock(return_value=3)
>>> real.method(3, 4, 5, key='value')
3
>>> real.method.assert_called_with(3, 4, 5, key='value')