Même si vous appelez l'appareil comme une fonction normale, en ignorant le décorateur pytest, cela fonctionnera bien si les signatures correspondent.
Cependant, si le pytest lui-même n'existe pas, un détour est nécessaire. Par exemple, vous pouvez effectuer les opérations suivantes:
try:
import pytest
except ImportError:
# provide fake pytest function to keep the script still runnable as standalone script
def null_decorator_or_decomaker(f=None, **decomaker_kwargs):
if f:
# decorator
return lambda *args, **kwargs: f(*args, **kwargs)
else:
# decomaker
def _(f):
# decomaker_kwargs can be handled
return lambda *args, **kwargs: f(*args, **kwargs)
return _
def null_decomaker(*decomaker_args, **decomaker_kwargs):
def _(f):
return lambda *args, **kwargs: f(*args, **kwargs)
return _
def null_decorator(f):
return lambda *args, **kwargs: f(*args, **kwargs)
class pytest:
fixture = staticmethod(null_decorator_or_decomaker)
class mark:
parametrize = staticmethod(null_decomaker)
# other function declarations follow if required.
\ # Je me demande s'il est plus lié au pytest, mais voulez-vous le taguer? ..
Recommended Posts