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).
有沒有辦法解決這個問題,最好不修改裝飾太多了? (因爲裝飾器也在測試代碼之外使用。)
有趣......似乎好的工作,我只Python 3.6中的'functools.wraps'。 2.7中的失敗 – Anentropic