py.test, похоже, терпит неудачу, когда я украшаю тестовые функции, у которых есть арматура в качестве аргумента.Как сделать pytest светильники работать с украшенными функциями?
def deco(func):
@functools.wraps(func)
def wrapper(*args, **kwargs):
return func(*args, **kwargs)
return wrapper
@pytest.fixture
def x():
return 0
@deco
def test_something(x):
assert x == 0
В этом простом примере, я получаю следующее сообщение об ошибке:
TypeError: test_something() takes exactly 1 argument (0 given).
Есть ли способ, чтобы исправить это, предпочтительно, не изменяя декоратора слишком много? (Так как декоратор также используется вне кода тестирования.)
интересно ... кажется, работает хорошо для меня просто 'functools.wraps' в Python 3.6. Ошибка в 2.7 – Anentropic