Академический Документы
Профессиональный Документы
Культура Документы
Introduction
1.1- Définition
- Cunit est un système permettant d’administrer, d’écrire et d’exécuter les tests
unitaires de programmes écrits en C.
- Il utilise une plateforme permettant de construire des structures de test et
fournissant un ensemble d’affirmations (assertion) riche pour le test des types de données
communes.
- Il offre différentes interfaces, statiques et dynamiques, pour lancer les tests et
reporter les résultats.
Exemple
- Lorsqu’une faute est activée, la fonction test continue l’ exécution de son scénario de test
sauf si l’utilisateur choisisse la version fatale de l’assertion. Dans ce cas, la fonction test est
arrêtées sans faire appel à une éventuelle fonction de dés allocation.
Remarque :
-Il existe des assertions spéciales permettant de récupérer un résultat de succès ou non sans
l’évaluation d’un test logique. Ceci est très utile pour le test des flots de contrôles.
- les assertions sont définies dans : #include <CUnit/CUnit.h>
Exemple : void test_longjmp(void) {
jmp_buf buf; int i; i = setjmp(buf);
if (i == 0) {
run_other_func();
CU_PASS("run_other_func() succeeded.");
} else
CU_FAIL("run_other_func() issued longjmp.");
}
3. Registres, suites et tests
3.1- Gestion des registres #include <CUnit/TestDB.h>
Initialisation et libération des registres
CUE_SUCCESS CU_ErrorCode CU_initialize_registry(void)
CUE_NOMEMORY
void CU_cleanup_registry(void)
Utilisation des registres
CU_pTestRegistry CU_get_registry(void), Set, create_new, destroy_existing
Cunit est un logiciel, il présente ainsi plusieurs erreurs permettant de repérer son comportement.
Par exemple, erreur d’initialisation de registre, duplication du nom d’une suite de test, erreur
d’ouverture de fichier, etc. Voir CUnit/CUError.h pour la liste exhaustive.