2010-08-15 14 views

Répondre

4

Si cette classe utilise une bibliothèque tierce pour générer des graphiques/diagrammes (par exemple matplotlib), vous pouvez écrire des tests pour les méthodes qui génèrent des entrées pour la bibliothèque. Ce sera assez facile. Si la sortie est une image et que vous souhaitez vérifier ses propriétés, vous devrez creuser plus profondément. Les attributs d'image externes (taille, hauteur, format, etc.) peuvent être facilement vérifiés, mais d'autres tels que le contenu réel de l'image seraient assez difficiles. À mon humble avis cela ne vaudrait pas la peine.

Si la sortie est non-binaire (par exemple SVG), vous pouvez facilement écrire des tests pour vous assurer que le XML de sortie contient ce que vous recherchez.

+0

En effet, et matplotlib donne un bon décorateur de comparaison d'image pour cela. – epoch

4

Une méthode que j'ai utilisée est de générer un fichier «connu-bon», le stocker dans votre arborescence source, puis de faire une comparaison binaire dans le cadre du test. Si le contenu du fichier correspond à la sortie n'a pas changé. Cela ne vous permet pas de tester toutes les combinaisons possibles d'entrées qui généreraient l'image, mais est utile pour les tests de régression de base.