Je suis membre du club de robotique de mon lycée et je suis responsable de la programmation du robot. Une suggestion que je continue d'entendre de la part de divers adultes est que je devrais écrire des tests unitaires pour aider à valider mon code. La base de code devient un peu grosse, et je suis d'accord que les tests unitaires seraient vraiment utiles pour m'aider à détecter les bogues plus rapidement.
Cependant, je ne sais pas exactement comment je pourrais y parvenir. À ma connaissance, le test unitaire se fait en prenant une fonction (ou un sous-système du code) et en lui fournissant un ensemble d'entrées pour s'assurer qu'il sort avec la même sortie à chaque fois. Le code que j'ai actuellement ne fait pas de gros calculs, mais manipule plutôt directement les composants matériels du robot. La plupart de la complexité vient du fait de s'assurer que l'électronique est saine, que le code correspond actuellement au matériel réel sur le robot, etc. Souvent, je peux seulement voir s'il y a un problème en chargeant le code sur le robot lui-même, et tenter de l'exécuter.
Par extension, comment écrire des tests unitaires pour le code destiné à faire fonctionner n'importe quel appareil mécanique? Il me semble que vous ne pouvez détecter les erreurs qu'en observant physiquement le fonctionnement de la machine.
Ou suis-je simplement en train de mal comprendre comment les tests unitaires devraient fonctionner?
( Si c'est important, voici le code , il est écrit en C ++, et je participe à FRC )