[py-dev] Decorators and funcargs in py.test
Vyacheslav Rafalskiy
rafalskiy at gmail.com
Mon May 30 21:17:32 CEST 2011
Hi Holger,
I am trying to make decorators work with test functions, which depend
on funcargs. As it stands, they don't.
Decorated functions lose funcargs. A workaround would be to decorate
an internal function like this:
def test_it(funcarg_it):
@decorate_it
def _test_it():
# test it
_test_it()
This works, but it is not nice. I'd rather wrote a decorator like
def decorate_it(f):
def _wrap_it(*args, **kwargs):
# wrap f() here
_wrap_it._varnames = _pytest.core.varnames(f)
return _wrap_it
and apply it straight to the test function.
After examining the source code I even expected it to just work
(magically of course) but it didn't.
Do you think it is worthwhile? If so I can enter a feature request.
Thanks,
Vyacheslav
More information about the Pytest-dev
mailing list