我想模拟几个不重要的功能为测试主题(其他功能) - time.sleep()等。如何强制MagicMock复制功能签名?
我可以将它们替换为简单的模拟,这将工作。但我希望它报告错误,如果他们被调用的参数数量不正确,没有命名参数等。
有没有办法说模仿'提出异常,如果你的参数列表不同于给定函数'?
的功能例子我想嘲笑:
def mockme(arg1, arg2):
pass
我想要什么:
>>> m = mock.CallableMock(signature=mockme)
>>> m(1,2)
<MagicMock name='mockme()' id='140435553563920'>
>>> m(1,2,3)
TypeError: <MagicMock name='mockme()' id='140435553563920'> takes exactly 2 arguments (3 given)
不知道如何做呢?
那岂不是更好地模仿你的'call_args'比较你希望它是参数列表叫什么名字? – lucasnadalutti
是的,这是可能的,但非常烦人,如果有很多电话。 –