Tengo un decorador y quiero afirmar que ciertos métodos en mi código están decorados con él.¿Cómo afirmar que un método está decorado con python unittest?
import functools
def decorator(func):
def _check_something(*args, **kwargs):
# some logic in here
return func(*args, **kwargs)
return functools.wraps(func)(_check_something)
class MyClass(object):
@decorator
def my_method(foo, bar):
pass
¿Cómo afirmar con unittest (unitttest2) que tiene my_method
@decorator
y nadie lo quitó, y no quedó en el olvido?
hacer algunas comprobaciones que ponen a prueba si la función (no se llama un "método" en Python, por cierto) tiene el comportamiento correcto, elevando las excepciones correctas, etc. Si lo hace, todo está bien. –
actualizó el ejemplo para tener un método real en lugar de solo una función de módulo colgante. – Evgeny
Con pruebas unitarias, solo prueba si la función hace lo correcto. El objetivo de todo esto es que las personas puedan refactorizar la implementación real como quieran, siempre que no rompan la funcionalidad. Lo que intentas hacer no tiene nada que ver con las pruebas unitarias. –