2 回答

TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超6個(gè)贊
建議的更改是:
def f(cls):
cls.my_method()
my_instance = MyClass()
f(my_instance)
然后你可以模擬my_instance并檢查它是否被調(diào)用。

TA貢獻(xiàn)1155條經(jīng)驗(yàn) 獲得超0個(gè)贊
正如我的問(wèn)題的評(píng)論中所建議的,我最終得到了一個(gè)使用“模擬”模塊中的“補(bǔ)丁”的工作解決方案。
my_file.py
class MyClass():
def __init__(self):
pass
def my_method(self):
pass
def function():
my_instance = MyClass()
my_instance.my_method()
test_my_file.py
import mock
from my_file import function
@mock.patch('my_file.MyClass.my_method')
def test_function(mock_method):
function()
mock_method.assert_called_once()
添加回答
舉報(bào)