javisantana.com

Testing con datetime en python

Este es un pequeño “truco” para testear métodos o funciones que usen datetime.now. Se podrían usar trucos aprovechando que python es un lenguaje muy dinámico, pero siempre que se pueda hacer explícito y simple, para qué complicarnos?

  
def method(param1, param2, now=None):   
    now = now or datetime.now()  
    # do something with now  
    pass  

En el uso normal la llamaremos normalmente, pero en el test podremos pasarle un datetime concreto para testear.