Я хочу создать декоратор для моих тестовых функций, который имеет несколько применений.Один из них помогает добавить свойства к сгенерированному junitxml
.
Я знаю, что есть встроенный pytest для приспособления , называемый record_property
, который делает именно это.Как я могу использовать этот прибор в моем декораторе?
def my_decorator(arg1):
def test_decorator(func):
def func_wrapper():
# hopefully somehow use record_property with arg1 here
# do some other logic here
return func()
return func_wrapper
return test_decorator
@my_decorator('some_argument')
def test_this():
pass # do actual assertions etc.
Я знаю, что могу передать прибор непосредственно в каждую тестовую функцию и использовать его в тестах, но у меня много тестов, и он кажется крайне избыточнымсделать это.
Кроме того, я знаю, что могу использовать conftest.py
, создать собственный маркер и вызвать его в декораторе, но у меня много файлов conftest.py
, и я не управляю всеми ими в одиночку, поэтомуне могу применить его.
Наконец, попытка импортировать прибор непосредственно в мой модуль декоратора, а затем использовать его, приводит к ошибке - так что это тоже не пойдет.
Спасибо запомощь