1

(我是蟒蛇新手)

我在看:模拟对象和方法

而且我想知道是否可以替换未作为参数传递的python方法中的对象,可以说我的方法是这样的:

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

我希望测试 mypymethod 但是我希望os.path 在这种情况下在我从我的测试方法中调用它时返回“yourmockresult”

反正我能做到吗?谢谢!!

4

1 回答 1

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')
于 2011-07-21T08:55:50.627 回答