簡體   English   中英

使用mock的Python中的部分補丁

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM