Unit Test pour C/C++

Unit Test pour C/C++ - C - Programmation

Marsh Posté le 01-02-2007 à 16:11:20    

Bonjour,
 
je cherche à faire des tests unitaires sur des programmes C et/ou C++.
 
L'objectif pour moi est d'avoir un seul outil qui peut traiter les codes C et C++.
 
J'ai entendu beaucoup parlé de CUnit, CppUnit, Boost, QUnit.
 
Est ce que quelqu'un connait bien ces framework et peut me conseiller sur le choix à faire.
 
Merci d'avance


Message édité par Kanonji le 01-02-2007 à 16:11:51
Reply

Marsh Posté le 01-02-2007 à 16:11:20   

Reply

Marsh Posté le 01-02-2007 à 17:59:19    

Perso, j'utilise Boost, c'est pas trop mal mais mon exp se limite à ça donc [:spamafote]

Reply

Marsh Posté le 01-02-2007 à 20:01:25    

J'utilise aussi Boost.Test, et depuis peu dans l'environnement de build Boost.Build V2. C'est à mon goût, même si je regrette l'absence de documentation sur les fonctionnalités permettant de tester si un test compile avec succès ou non (dans BBV2).

Reply

Marsh Posté le 01-02-2007 à 21:20:20    

boost

Reply

Marsh Posté le 01-02-2007 à 22:02:58    

b


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
Reply

Marsh Posté le 02-02-2007 à 10:30:04    

Cppunit est pas mal, mais j'ai essayé que ça.


---------------
Töp of the plöp
Reply

Marsh Posté le 02-02-2007 à 11:26:40    

_darkalt3_ a écrit :

Cppunit est pas mal, mais j'ai essayé que ça.


 
Est ce que CppUnit est facile d'utilisation pour un plus que novice en C++ (son deploiement et son utilisation en fait).
 
Je sais qu'avec CppUnit, on doit coder les tests en C++.  
Dans mon cas, 90% du code est en C, le reste en C++. Je sais egalement que le C++ est une orientation future du code plus que probable donc il vaut mieux quelque chose qui marche en C++.
 
Pour faire des tests de codes C avec CppUnit, j'ai vu qu'il faut faire un extern C dans les classes.
 
Saurais tu m'expliquer ce point également ? (as tu un exemple peut etre?)
 
Merci d'avance et j'espere ne pas etre trop demandeur.
 
Ludovic

Reply

Marsh Posté le 02-02-2007 à 11:33:59    

Kanonji a écrit :

Est ce que CppUnit est facile d'utilisation pour un plus que novice en C++ (son deploiement et son utilisation en fait).


Il faut surtout cibler les tests à faire.
 

Kanonji a écrit :


Pour faire des tests de codes C avec CppUnit, j'ai vu qu'il faut faire un extern C dans les classes.
 
Saurais tu m'expliquer ce point également ? (as tu un exemple peut etre?)


Google en auras bien plus que moi.


---------------
Töp of the plöp
Reply

Marsh Posté le 02-02-2007 à 13:29:51    

Kanonji a écrit :


Pour faire des tests de codes C avec CppUnit, j'ai vu qu'il faut faire un extern C dans les classes.
 
Saurais tu m'expliquer ce point également ? (as tu un exemple peut etre?)


extern C permet de supprimer le name mangling généré par les compilos C++. vu son nom, je suppose que CppUnit est un framework de test pour le C++, donc si tu veux l'utiliser en C, il vaut mieux effectivement désactiver la décoration des fonctions sinon bonjour les erreurs de link


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 02-02-2007 à 14:26:05    

wof, les headers C compilés comme du C sont déjà entourés par des extern sinon comme tu dis, ça ne linkerait pas du tout. Si c'est du C compilé comme du C++ et bien c'est techniquement du C++ donc aucune différence. Dans les deux cas, RAF, RAS.

Reply

Marsh Posté le 02-02-2007 à 14:26:05   

Reply

Marsh Posté le 02-02-2007 à 15:36:34    

Citation :

extern C permet de supprimer le name mangling généré par les compilos C++. vu son nom, je suppose que CppUnit est un framework de test pour le C++, donc si tu veux l'utiliser en C, il vaut mieux effectivement désactiver la décoration des fonctions sinon bonjour les erreurs de link


 
Ok merci du renseignement. Rajouter un extern devrait suffire alors.
 

Citation :

les headers C compilés comme du C sont déjà entourés par des extern sinon comme tu dis, ça ne linkerait pas du tout. Si c'est du C compilé comme du C++ et bien c'est techniquement du C++ donc aucune différence.


 
Je verifierais mais sinon, je rajouterais l'extern.
 
Ludovic

Reply

Marsh Posté le 03-02-2007 à 20:03:14    

Bah alors personne n'a réellement utilisé CppUnit ici?
 
Effectivement, je ne vois pas comment l'employer avec du code C... c'est mort.
 
Sinon, j'ai découvert Fitnesse qui place la problèmatique des tests au niveau fonctionnel. Vous avez des retours à me communiquer sur l'outil ou des équivalents que vous avez vous-même employé?

Message cité 1 fois
Message édité par slash33 le 03-02-2007 à 20:07:43
Reply

Marsh Posté le 03-02-2007 à 21:33:52    

slash33 a écrit :

Bah alors personne n'a réellement utilisé CppUnit ici?

 

Effectivement, je ne vois pas comment l'employer avec du code C... c'est mort.


si :o
Je faisais du c++, mais je ne vois pas bien ou est le pb avec du C. Faire une classe qui wrappe ton code C, ca doit pas etre la mort.


Message édité par el muchacho le 03-02-2007 à 21:35:22
Reply

Marsh Posté le 03-02-2007 à 23:32:48    

Tu compiles les headers C++ de CppUnit avec ton compilo C?

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed