py.test, похоже, терпит неудачу, когда я украшаю тестовые функции, у которых есть арматура в качестве аргумента.
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).
Есть ли способ исправить это, желательно, не слишком сильно изменив декоратор? (Так как декоратор используется вне кода тестирования тоже.)