Apprends à tester tes exercices en C sur Exercism
Chaque exercice fournit les tests unitaires et une recette de compilation Make. À toi de fournir l'implémentation.
Chaque fichier de test est destiné à être lié à ton implémentation pour produire un exécutable en console qui lance les tests. L'exécution de l'exécutable de test affiche un message pour chaque test en échec et renvoie un code de sortie non nul lorsque les tests échouent.
Pour venir à bout d'un exercice :
TEST_IGNORE().Chaque exercice est livré avec un fichier makefile et un fichier .c contenant les tests unitaires.
Tu ne devrais pas avoir besoin de modifier le fichier Make.
Le fichier Make fourni suppose que ton implémentation se trouve dans un fichier d'en-tête (.h) et un fichier source (.c) nommés d'après l'exercice.
Par exemple, l'exercice bob attend une implémentation dans bob.h et bob.c.
Pour les exercices dont le nom contient des tirets, les fichiers sources sont supposés utiliser des underscores, donc word-count attend word_count.h et word_count.c.
Tu peux décider que ton implémentation est suffisamment simple pour tenir entièrement dans l'en-tête, auquel cas tu peux omettre le fichier .c.
Crée tes fichiers d'implémentation initiaux avant de lancer Make.
Si tu n'as pas les fichiers bob.h et bob.c au moment de lancer Make pour l'exercice bob, Make générera une erreur indiquant que les fichiers sont introuvables.
Ces fichiers peuvent être vides, mais ils doivent exister.
La façon la plus simple de compiler ton code est d'utiliser make en ligne de commande (CLI).
Sous Linux, la CLI est disponible dans bash ou un shell similaire, et sous MacOS tu peux utiliser Terminal.
Sous Windows 10, le Bash du Windows Subsystem for Linux (WSL) est disponible.
Pour cela, en supposant que le répertoire courant soit le dossier de l'exercice :
$ make
Cela compilera ton code et lancera les tests.
Le makefile fournit aussi une compilation qui vérifie certaines erreurs courantes liées aux fuites de mémoire et aux accès hors limites dans les tableaux.
Pour lancer ces vérifications, utilise la commande suivante en ligne de commande :
$ make memcheck
Pour nettoyer après une compilation, tu peux demander à make de supprimer toute la sortie de compilation, y compris l'exécutable :
$ make clean
Sous MacOS, tu peux aussi utiliser Xcode. Pour compiler le code, sélectionne Build dans la barre d'outils.