CUnit MOUSSA SOUGUEH Ismail Master MME Plan ●Introduction ●Structure générale ●
CUnit MOUSSA SOUGUEH Ismail Master MME Plan ●Introduction ●Structure générale ●Usage général ●Exemples ●Conclusion ●Bibliographie MOUSSA SOUGUEH Ismail Master MME Introduction Description “CUnit” est un système qui permet d'écrire, de gérer et d'exécuter des tests unitaires en C. Il est conçu comme une bibliothèque static qui est liée au code du test de l'utilisateur. “CUnit” utilise un framework simple pour la construction de structures de test, et fournit un ensemble riche d'assertions pour tester des types de données. En plus de ceci, plusieurs interfaces différentes sont fournies pour exéuter les tests and afficher les résultats. Les types de données et fonctions utiles à l'utilisateur sont déclarées dans les fichiers d'en-tête suivants : ● #include <CUnit/CUnit.h> ● #include <CUnit/CUError.h> ● #include <CUnit/TestRun.h> ● #include <CUnit/TestDB.h> ● #include <CUnit/Automated.h> ● #include <CUnit/Basic.h> ● #include <CUnit/Console.h> ● ...etc. MOUSSA SOUGUEH Ismail Master MME “CUnit” est une combinaison d'un framework indépendant de la plateforme doté de plusieurs interfaces utilisateurs. CUnit est organisé comme un framework de test unitaire conventionnel. Test Registry | ---------------------------------------- | | Suite '1' . . . . . . . . . Suite 'N' | | ---------------------- ---------------------- | | | | Test '11' ... Test '1M' Test 'N1' ... Test 'NM' Structure générale MOUSSA SOUGUEH Ismail Master MME ● Ci-dessous est représentée une séquence typique des étapes pour utiliser le framework ”CUnit” : ● 1. Ecrire les fonctions pour les tests (et les fonctions d'initialisation/nettoyage de suite si nécessaire. ● 2. Initialiser le registre de test (en utilisant CU initialize registry() ). ● 3. Ajouter les suites au registre (en utilisant CU add suite(const char* strName, CU_InitializeFunc pInit, CU_CleanupFunc pClean) ). ● 4. Ajouter les tests aux suites (en utilisant CU add test(CU_pSuite pSuite, const char* strName, CU_TestFunc pTestFunc) ). ● 5. Exécuter les tests en utilisant les interfaces appropriées : * #include <CUnit/Basic.h> * #include <CUnit/Console.h> * #include <CUnit/Automated.h> * #include <CUnit/CUCurses.h> * #include <CUnit/TestRun.h> ● 6. Nettoyer le registre de test. Usage général MOUSSA SOUGUEH Ismail MOUSSA SOUGUEH Ismail MOUSSA SOUGUEH Ismail MOUSSA SOUGUEH Ismail MOUSSA SOUGUEH Ismail MOUSSA SOUGUEH Ismail MOUSSA SOUGUEH Ismail Master MME Exemples a. Ci-dessous est présenté un exemple de test de deux fonctions fprintf et fread, de la bibliothèque standard stdio.h, avec l'interface “Basic” . MOUSSA SOUGUEH Ismail MOUSSA SOUGUEH Ismail Master MME MOUSSA SOUGUEH Ismail Master MME MOUSSA SOUGUEH Ismail Master MME Compilons puis exécutons l'exemple précédent, on écrit dans la console : - pour compiler : gcc -Wall fichier.c -lcunit -o fichier ; - pour exécuter : ./fichier . MOUSSA SOUGUEH Ismail MOUSSA SOUGUEH Ismail Master MME b. Ci-dessous est présenté un exemple de test de deux fonctions polynome et inverse avec l'interface “Basic”. MOUSSA SOUGUEH Ismail Master MME MOUSSA SOUGUEH Ismail Master MME MOUSSA SOUGUEH Ismail Master MME Compilons puis exécutons l'exemple b. MOUSSA SOUGUEH Ismail Master MME c. Ci-dessous est présenté un exemple de test des deux fonctions polynome et inverse avec l'interface “Console”. MOUSSA SOUGUEH Ismail Master MME MOUSSA SOUGUEH Ismail Master MME Compilons puis exécutons l'exemple c. Cette interface Console est interactive, on peut choisir parmi cinq options: - exécuter tous les tests et suites (en tapant r ou R); - sélectionner une suite (en tapant s ou S); - afficher la liste des suites (en tapant l ou L); - afficher les erreurs (en tapant f ou F); - quitter (en tapant q ou Q). MOUSSA SOUGUEH Ismail Master MME Affichons les erreurs par exemple, puis exécutons tous les tests et suites, et enfin quittons. MOUSSA SOUGUEH Ismail Master MME Conclusion CUnit permet ainsi de tester un très grand nombre de fonctions en exécutant un seul code source à l'aide d'interfaces variées. MOUSSA SOUGUEH Ismail Master MME Bibliographie http://cunit.sourceforge.net MOUSSA SOUGUEH Ismail Master MME uploads/Ingenierie_Lourd/ expose-sur-cunit.pdf
Documents similaires










-
27
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Oct 19, 2022
- Catégorie Heavy Engineering/...
- Langue French
- Taille du fichier 1.4029MB