(我是Python新手)
我正在查看:Mocking out objects and methods
我想知道我是否可以替换 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')
关于python - 在方法中模拟一个对象,该对象不是Python中的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6773234/