• # IFDEFs de porcs

    Posté par (site web personnel) . En réponse au journal Frameworks de test unitaires: retour d'XP. Évalué à 2.

    Personellement, j'utilise depuis longtemps le bon vieux hack du "faux main" (que le GNU utilise aussi, au moins dans la gnulib).
    Concrètement ça donne des trucs genre
    #ifdef DEBUG
    int
    main (void)
    {
    __/* mult */
    __{
    _____assert( 4 == mult(2, 2));
    __}
    }
    #endif

    à la fin de tout les fichiers de code C. Et dans le Makefile :
    %.tests: %.c
    ________$(CC) $(CFLAGS) $(LDLIBS) -DDEBUG $? -o $@
    ________valgrind ./$@
    (à adapter suivant tes dépendances).

    C'est simple, efficace et portable.
    Ça fournit aussi un bon endroit pour mettre des exemples de la manière d'utiliser les fonctions. En plus on peut utiliser les outils standards (gdb, valgrind etc) pour explorer ce qu'il se passe quand un test échoue.

    Après, je suppose que c'est pas adaptés à tout les cas. Mais pour les petits projets c'est parfait.