在python中模拟不是参数的方法中的对象

2024-04-25 00:04:19 发布

您现在位置:Python中文网/ 问答频道 /正文

(我是python新手)

我在看:Mocking out objects and methods

我想知道是否可以替换python方法中没有作为参数传递的对象,假设我的方法如下:

def mypymethod(param1)
  myresult = os.path.something
  return myresult

我希望测试mypymethod,但我希望操作系统路径在这种情况下,当我从测试方法调用它时返回“yourmockresult”

不管怎样,我能做到吗? 谢谢!!在


Tags: andpath对象方法objectsosdefout
1条回答
网友
1楼 · 发布于 2024-04-25 00:04:19

您应该使用michaelfoord的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')

相关问题 更多 >