Vous êtes sur la page 1sur 19

CUnit

Master MME

MOUSSA SOUGUEH Ismail

Plan

Introduction Structure gnrale Usage gnral Exemples Conclusion Bibliographie

Master MME

MOUSSA SOUGUEH Ismail

Introduction
escription
!CUnit" est un s#st$me %ui permet d&crire' de grer et d&excuter des tests unitaires en C( Il est con)u comme une biblioth$%ue static %ui est lie au code du test de l&utilisateur( !CUnit" utilise un *rame+or, simple pour la construction de structures de test' et *ournit un ensemble riche d&assertions pour tester des t#pes de donnes( En plus de ceci' plusieurs inter*aces di**rentes sont *ournies pour exuter les tests and a**icher les rsultats( -es t#pes de donnes et *onctions utiles . l&utilisateur sont dclares dans les *ichiers d&en/t0te sui1ants 2

3include 4CUnit5CUnit(h6 3include 4CUnit5CUError(h6 3include 4CUnit57est8un(h6 3include 4CUnit57est B(h6 3include 4CUnit5Automated(h6 3include 4CUnit5Basic(h6 3include 4CUnit5Console(h6 (((etc(

Master MME

MOUSSA SOUGUEH Ismail

Structure gnrale
!CUnit" est une combinaison d&un *rame+or, indpendant de la plate*orme dot de plusieurs inter*aces utilisateurs( CUnit est organis comme un *rame+or, de test unitaire con1entionnel( 7est 8egistr# 9 //////////////////////////////////////// 9 Suite &:& 9 ////////////////////// 9 9 ((((((((( 9 Suite &;& 9 ////////////////////// 9 9

7est &::& ((( 7est &:M&

7est &;:& ((( 7est &;M&

Master MME

MOUSSA SOUGUEH Ismail

Usage gnral

Ci/dessous est reprsente une s%uence t#pi%ue des tapes pour utiliser le *rame+or, "CUnit" 2 :( Ecrire les *onctions pour les tests <et les *onctions d&initialisation5netto#age de suite si ncessaire( =( Initialiser le registre de test <en utilisant CU initiali>e registr#<? ?( @( AAouter les suites au registre <en utilisant CU add suite<const charB str;ame' CUCInitiali>eDunc pInit' CUCCleanupDunc pClean? ?( E( AAouter les tests aux suites <en utilisant CU add test<CUCpSuite pSuite' const charB str;ame' CUC7estDunc p7estDunc? ?( F( Excuter les tests en utilisant les inter*aces appropries 2 B 3include 4CUnit5Basic(h6 B 3include 4CUnit5Console(h6 B 3include 4CUnit5Automated(h6 B 3include 4CUnit5CUCurses(h6 B 3include 4CUnit57est8un(h6

G( ;etto#er le registre de test(

Master MME

MOUSSA SOUGUEH Ismail

Exemples
a( Ci/dessous est prsent un exemple de test de deux *onctions fprintf et fread' de la biblioth$%ue standard stdio(h' a1ec l&inter*ace !Basic" (

Master MME

MOUSSA SOUGUEH Ismail

Master MME

MOUSSA SOUGUEH Ismail

Master MME

MOUSSA SOUGUEH Ismail

Compilons puis excutons l&exemple prcdent' on crit dans la console 2 / pour compiler 2 gcc /Hall fichier.c /lcunit /o fichier I / pour excuter 2 (5*ichier (

Master MME

MOUSSA SOUGUEH Ismail

b( Ci/dessous est prsent un exemple de test de deux *onctions polynome et inverse a1ec l&inter*ace !Basic"(

Master MME

MOUSSA SOUGUEH Ismail

Master MME

MOUSSA SOUGUEH Ismail

Master MME

MOUSSA SOUGUEH Ismail

Compilons puis excutons l&exemple b(

Master MME

MOUSSA SOUGUEH Ismail

c( Ci/dessous est prsent un exemple de test des deux *onctions polynome et inverse a1ec l&inter*ace !Console"(

Master MME

MOUSSA SOUGUEH Ismail

Master MME

MOUSSA SOUGUEH Ismail

Compilons puis excutons l&exemple c(

Cette inter*ace Console est interacti1e' on peut choisir parmi cin% options2 / excuter tous les tests et suites <en tapant r ou 8?I / slectionner une suite <en tapant s ou S?I / a**icher la liste des suites <en tapant l ou -?I / a**icher les erreurs <en tapant * ou D?I / %uitter <en tapant % ou J?( Master MME MOUSSA SOUGUEH Ismail

A**ichons les erreurs par exemple' puis excutons tous les tests et suites' et en*in %uittons(

Master MME

MOUSSA SOUGUEH Ismail

Conclusion
CUnit permet ainsi de tester un tr$s grand nombre de *onctions en excutant un seul code source . l&aide d&inter*aces 1aries(

Master MME

MOUSSA SOUGUEH Ismail

Bibliographie
http://cunit.sourceforge.net

Master MME

MOUSSA SOUGUEH Ismail

Vous aimerez peut-être aussi