Вы находитесь на странице: 1из 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

Оценить