Je donne un sérieux coup de main à TDD aujourd'hui et je l'ai trouvé très utile, en accord avec tous les éloges qu'il reçoit.Comment tester les unités liées aux mathématiques?
Dans ma quête d'exercices sur lequel pour apprendre à la fois Python et TDD j'ai commencé à le code des exercices de SPOJ en utilisant la technique TDD et je suis arrivé à une question:
Étant donné que tous les exercices de SPOJ sont pour la plupart mathématiques appliquées à la programmation; Comment tester une procédure mathématique comme dans TDD Fashion? Échantillon de données connues pour être correctes? Test contre une implémentation connue? J'ai trouvé que l'utilisation des données d'échantillon données dans le problème lui-même est précieuse, mais il semble exagéré pour quelque chose que vous pouvez tester si rapidement en utilisant la console, sans oublier le surdébit pour concevoir vos algorithmes de manière testable (Proxying the Les objets stdout et stdin sont tout simplement trop de travail pour une très petite récompense), et bien que cela soit bon parce que cela vous oblige à penser vos solutions en termes testables, je pense que je vais peut-être essayer trop dur.
Tous les conseils sont les bienvenus
"Échantillon de données connues pour être correctes?" Oui. "Test contre une implémentation connue?" Oui. –
"Proxication des objets stdout et stdin" - vous ne devriez pas avoir besoin de faire cela. Séparez votre code dans le composant traitant de IO (analyse et mise en forme), et l'algorithme de base. –
@ OliCharlesworth À cet égard, je suis venu avec ceci: http://pastebin.com/vPZKeJEX – Machinarius