[英]Partial patch in Python with mock
如何在函數上使用mock.patch
,因此我可以訪問方法.assert_called
等,同時我仍然可以保留函數的原始功能?
這是示例代碼:
from unittest import mock
def foo(arg):
print(arg)
def tested():
foo('hi')
@mock.patch('__main__.foo')
def test(foo):
tested()
foo.assert_called_once()
test()
我希望它測試foo
函數是否只被調用一次,但我仍然需要它來打印hi
。
哦。 我已經解決了。 我只需要將參數side_effect
添加到裝飾器:-)
像這樣:
@mock.patch('__main__.foo', side_effect=foo)
def test(foo):
...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.