He estado tratando de comenzar con las pruebas unitarias mientras trabajo en un pequeño programa cli.¿Cómo debo volver a escribir la ejecución/confirmación de mi base de datos para que sea susceptible de pruebas unitarias?
Mi programa básicamente analiza los argumentos y opciones de la línea de comandos, y decide a qué función llamar. Cada una de las funciones realiza alguna operación en una base de datos.
Así, por ejemplo, podría tener una función de crear:
def create(self, opts, args):
#I've left out the error handling.
strtime = datetime.datetime.now().strftime("%D %H:%M")
vals = (strtime, opts.message, opts.keywords, False)
self.execute("insert into mytable values (?, ?, ?, ?)", vals)
self.commit()
Debe mi caso de prueba llamada esta función, a continuación, ejecutar el select de SQL para comprobar que se ha introducido la fila? Eso suena razonable, pero también hace que las pruebas sean más difíciles de mantener. ¿Volverías a escribir la función para devolver algo y verificar el valor de retorno?
Gracias
Creo que las pruebas unitarias son dos palabras. –