Il y a quelques jours, j'ai commencé à chercher un framework de test unitaire appelé check, et j'ai l'intention d'exécuter le test sur le code c sous Linux.Est-ce trop compliqué d'exécuter le test unitaire avec Valgrind?
maintenant vérifier et un code bien conçu et un code de test peut me aidera à vérifier que la fonctionnalité de base est correcte, je veux dire, il est assez facile de simplement regarder les variables et la réponse en arrière puis décider si une fonction est correcte ou non. Mais disons que je veux tester une structure de mémoire dynamique avec beaucoup de malloc et libre, et il se trouve que je peux mettre des données et récupérer les données correctes à nouveau. Mais cela ne prouve pas que je n'ai pas cassé un peu de mémoire dans le processus, disons que j'ai oublié de libérer la moitié de la mémoire et j'ai perdu les pointeurs (un memleak classique). Ce code passerait probablement la plupart des tests unitaires. Donc, maintenant pour la question: Est-ce une bonne idée d'exécuter le code de test unitaire entier avec Val.Ind. et de lui laisser détecter des problèmes de malloc/free? (Ou peut-être quelque chose comme compilez clôture électrique?)
Il se sent comme une bonne idée, mais je ne suis pas sûr de ce que je me ici ..... entrer dans
Merci Johan
Mise à jour: Merci Douglas et Jonathan, il semble que ce soit une bonne idée et quelque chose que je devrais continuer :-)
Mise à jour: Valgrind est un outil amusant, cependant les premiers memleaks que j'ai trouvé en faisant cela étaient dans le framework de test et pas mon propre code (assez marrant cependant). Donc, une astuce pour le reste est de vérifier que le cadre de test de l'unité que vous utilisez ne fuit pas, avant de tourner votre propre code à l'envers. Un cas de test vide était tout ce qui était nécessaire dans mon cas, depuis lors, rien que le cadre de test unitaire est en cours d'exécution.
Il y a aussi '--xml = yes' et' --xml-file = ', ce qui facilite l'automatisation de la lecture des résultats. –