(我是蟒蛇新手)
我在看:Mocking out objects and methods
我想知道我是否可以在python方法中替换一个未作为参数传递的对象,假设我的方法是这样的:
def mypymethod(param1)
myresult = os.path.something
return myresult
我希望测试mypy方法但是我希望 os.path在这种情况下返回“yourmockresult”当我从我的测试方法中调用它时
无论如何我能做到这一点? 谢谢!
答案 0 :(得分:1)
您应该使用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')