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).
वहाँ अधिमानतः बहुत ज्यादा डेकोरेटर को संशोधित किए बिना इसे ठीक करने के लिए, एक तरीका है? (चूंकि सजावटी को परीक्षण कोड के बाहर भी प्रयोग किया जाता है।)
दिलचस्प है ... बस के साथ मेरे लिए ठीक काम करने के लिए लगता है पायथन 3.6 में 'functools.wraps'। 2.7 – Anentropic