2
我想測試裝飾的函數。當裝飾器已經被應用時,有沒有辦法模擬一個裝飾器和測試函數?在單元測試中模擬python裝飾器
import mock
def decorator(func):
def wrapper(*args, **kwargs):
return 1
return wrapper
def mocked(func):
def wrapper(*args, **kwargs):
return 2
return wrapper
@decorator
def f():
return 0
with mock.patch('test.decorator') as d:
d.side_effect = mocked
assert f() == 2 # error
我很難理解你要在這裏做什麼...你想改變裝飾'f'這個測試的函數嗎? – mgilson
是的,我試圖用嘲弄取代裝飾者。 – user3216932