|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Nouveau Membre du Club
![]() Développeur informatique Inscription : septembre 2011 Messages : 30 ![]() |
Bonjour,
Je suis en étude en informatique et durant mon premier stage on me demande d'utiliser CPPUNIT pour tout ce qui Test Unitaire. Après une bonne documentation et une mise en pratique je me suis vite fait a cette outils de test. Travaillant sur un gros projet avec mon entreprise, nous avons une grosse quantité de test et notre main de test, ne nous permettait pas de lancer les Classes de test indépendamment des autres ce qui a force de rajouter des classes tests, pour vérifier juste une partie du code d'une classe on devait se taper tout les Test Unitaire des autres.... Après quelques recherches j'ai pu améliorer le main de test avec le system que nous avions avec CPPUNIT. Il fallait simplement utiliser : CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( ATestFixtureType, Name ) Au lieu de : CPPUNIT_TEST_SUITE_REGISTRATION( ATestFixtureType ) Pour que l'on puisse retrouver le nom des classes de test dans le registre de CPPUNIT pour les exécuter. (en changeant un peu le main on peut donc tester en prenant en argument le nom de la classe que l'on souhaite tester et si aucun argument n'est donné au main faire tout les tests qui existe ce qui donne fait gagner pas mal de temps par jours ^^). Après cette amélioration, on me demande de rechercher s'il est possible d'exécuter uniquement une méthodes d'une classe de test indépendamment des autres méthodes de la même classe et autres classes. J'ai pas mal rechercher sur google, sur toute la doc et tout les .h de CPPUNIT, mais je n'ai rien trouvé a ce propos, si une personne bien calé en CPPUNIT pourrait m'aider pour au moins me dire si cela est possible. Je suis présent pour toute information supplémentaire que vous avez besoin. Merci |
|
|
00
|
|
|
#2 | ||
|
Membre émérite
![]() Inscription : mars 2005 Messages : 860 ![]() |
Oui, tu peux exécuter juste un test. Dans ton main, tu dois faire quelque chose comme
Code :
Par contre, je n'utilise pas CPPUNIT_TEST_SUITE_NAMED_REGISTRATION. |
||
|
|
00
|
|
|
#3 |
|
Nouveau Membre du Club
![]() Développeur informatique Inscription : septembre 2011 Messages : 30 ![]() |
J'avais déjà fait cette petite partie qui marche très bien mais j'utilise aussi :
CPPUNIT_NS::TestResult controller; CPPUNIT_NS::TestResultCollector result; controller.addListener(&result); CPPUNIT_NS::XmlOutputter xmlOut(&result, xmlFileOut); Pour pouvoir stocker les résultats des ASSERT et après écrire dans un fichier sous format xml les résultats... Dans ta situation cela marche mais je n'arrive pas a stocker mes résultat dans mon controller. |
|
|
00
|
|
|
#4 | ||
|
Nouveau Membre du Club
![]() Développeur informatique Inscription : septembre 2011 Messages : 30 ![]() |
Donc voila ce que j'ai trouve comme solution... mais comme vous le voyez c'est un peux gros xD.. et pas super beau... mais je peu stocker tout mes résultats comme ceci dans un result...
Code :
|
||
|
|
00
|
|
|
#5 |
|
Membre émérite
![]() Inscription : mars 2005 Messages : 860 ![]() |
Effectivement, ça devient vite compliqué. C'est sûrement la raison pour laquelle j'ai abandonné CppUnit. J'utilise maintenant GoogleTests qui, au passage, permet de produire un fichier au format XML (plus précisèment xUnit).
|
|
|
00
|
|
|
#6 |
|
Nouveau Membre du Club
![]() Développeur informatique Inscription : septembre 2011 Messages : 30 ![]() |
Je testerai xUnit personnellement merci pour vos réponses qui si plus performant que CPPUNIT et plus simple je pense que j'adopterais pour mes projets perso. J'utiliserais ma partie du code qui marche si personne a de meilleurs idées pour rendre le code plus propre...
|
|
|
00
|
Copyright © 2000-2013 - www.developpez.com