J'ai essayé de commencer les tests unitaires en travaillant sur un petit programme cli. Mon programme fondamentalement parse les arguments de la ligne de commande et les options, et décide de la fonction à appeler. Chacune des fonctions effectue une opération sur une base de données.Comment réécrire ma base de données execute/commit pour la rendre compatible avec les tests unitaires?
Ainsi, par exemple, je pourrais avoir une fonction de création:
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()
mon cas appel test cette fonction doit, puis exécutez la sélection SQL pour vérifier que la ligne a été saisie? Cela semble raisonnable, mais rend également les tests plus difficiles à maintenir. Voulez-vous réécrire la fonction pour retourner quelque chose et vérifier la valeur de retour?
Merci
Je pense que les tests unitaires sont deux mots. –