【发布时间】:2016-08-20 20:04:05
【问题描述】:
我正在尝试测试一个经过修饰的函数。当装饰器已经应用时,有没有办法单独模拟装饰器和测试功能?
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的函数? -
是的,我正在尝试用 mocked 替换装饰器。
标签: python unit-testing testing mocking decorator