Powiedzmy mam następujące:Jak strip dekoratorów z funkcją w python
def with_connection(f):
def decorated(*args, **kwargs):
f(get_connection(...), *args, **kwargs)
return decorated
@with_connection
def spam(connection):
# Do something
Chcę przetestować funkcję spam
bez przechodzenia przez kłopotów konfigurowania połączenia (lub cokolwiek dekorator robi).
Biorąc pod uwagę spam
, jak mogę usunąć dekorator z niego i uzyskać podstawową funkcję "nieodkrytą"?
Jeśli zamierzasz zmodyfikować kod, aby wywołać '_original', możesz równie dobrze skomentować dekoratora. – eduffy
@eduffy: Właśnie o to pytam. – balpha
Masz rację ... Nie myślałem o tym w sensie testowym. – eduffy