IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

Affichage des r�sultats du sondage: Quelles solutions de tests utilisez-vous en C++ en 2013 ?

Votants
51. Vous ne pouvez pas participer � ce sondage.
  • Boost.test, inclus dans la c�l�bre collections de biblioth�ques

    19 37,25%
  • cppUnit, un projet inspir� de JUnit

    8 15,69%
  • CTest, la solution propos�e avec CMaket CDash

    4 7,84%
  • CxxTest, un autre projet inspir� de JUnit

    1 1,96%
  • GTest, la solution de Google

    6 11,76%
  • QtTest, inclus dans le framework Qt

    4 7,84%
  • UnitTest++

    1 1,96%
  • Un framework personnel

    2 3,92%
  • Autre

    4 7,84%
  • Aucune, je ne fais pas de tests unitaires

    14 27,45%
Sondage � choix multiple
C++ Discussion :

Quelles solutions de tests utilisez-vous en C++ en 2013 ?


Sujet :

C++

  1. #1
    r0d
    r0d est d�connect�
    Membre exp�riment�

    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Ao�t 2004
    Messages
    4 343
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Ao�t 2004
    Messages : 4 343
    Billets dans le blog
    2
    Par d�faut Quelles solutions de tests utilisez-vous en C++ en 2013 ?


    Bonjour,

    J'aimerais avoir vos avis concernant les diff�rentes solutions de tests unitaires en c++.

    Parmi celles que vous avez d�j� utilis�es,

    quelles sont celles qui sont les plus faciles � installer, configurer (automatisation), utiliser et maintenir ?
    sur quel(s) syst�me(s) d'exploitation fonctionnent-elles ?
    sont-elles gratuites ?
    sont-elles d�pendantes d'un IDE donn� ?
    sont-elles fiables ?

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    1 415
    D�tails du profil
    Informations personnelles :
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 415
    Par d�faut
    Salut !

    Je n'en ai pas test� beaucoup mais j'aime bien GTest, pour les raisons suivantes:
    - Facilit� d'usage.
    - Facilit� de mise en place : simple et peu de d�pendances, facile � int�grer dans un projet.
    - Facilit� pour rejouer un test ou set de tests donn� (�a parait trivial et pourtant ce que �a peut �tre chiant avec certains !)
    - Customisation ais�e des formats de sorties avec les "listeners" qui permettent de g�n�rer des rapports sous diff�rentes formes.

    Inconv�nient remarqu�: de base, GTest s'utilise en ne compilant qu'un seul ex�cutable qui fait tout. Du coup, un segfault peut te pourrir un replay de nuit par exemple car plus aucun test ne sera jou� apr�s.

    Concernant tes points:
    - Int�gration: GTest ne fait rien � part te donner les cl�s pour g�n�rer des rapports sous le format qui te convient. Dans mon cas je g�n�rais des TAP pour Jenkins, c'est fait en 10 lignes de code c'est bidon.
    - Plateforme: A priori Windows/Mac/Linux. Test� sous linux
    - Licence: New BSD
    - D�pendance � un IDE: niet, s'int�gre tr�s bien dans Eclipse CDT.
    - Fiabilit� : Difficile � mesurer, aucun probl�me � d�plorer pour ma part.

  3. #3
    Membre Expert
    Avatar de poukill
    Profil pro
    Inscrit en
    F�vrier 2006
    Messages
    2 155
    D�tails du profil
    Informations personnelles :
    �ge : 42
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 2 155
    Par d�faut
    Je vais suivre de pr�s aussi, �a m'int�resse !

  4. #4
    Membre �clair� Avatar de LinuxUser
    Inscrit en
    Avril 2007
    Messages
    857
    D�tails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 857
    Par d�faut
    J'ai jamais utilis�, mais on m'a tr�s fortement conseill� cppUnit
    http://matthieu-brucher.developpez.c...s/cpp/cppUnit/

  5. #5
    R�dacteur/Mod�rateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 174
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 38
    Localisation : Canada

    Informations professionnelles :
    Activit� : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 174
    Billets dans le blog
    4
    Par d�faut
    J'utilisais CPPUnit lors de ma pr�c�dente mission : je sais pas pour la mise en place, mais � l'utilisation c'est fort simple !
    Pensez � consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation r�seau ?
    Aucune aide via MP ne sera dispens�e. Merci d'utiliser les forums pr�vus � cet effet.

  6. #6
    R�dacteur/Mod�rateur
    Avatar de JolyLoic
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Ao�t 2004
    Messages
    5 463
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 51
    Localisation : France, Yvelines (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Ao�t 2004
    Messages : 5 463
    Par d�faut
    J'ai utilis� cppunit et boost.test, et un tout petit peu la biblioth�que livr�e dans visual studio 2012.

    Je trouve cppUnit inutilement lourd, � la mise en place comme � l'utilisation (besoin d'enregistrer manuellement les cas de test, besoin de comparer des valeurs de m�me type, et pas simplement de types compatibles (par moyen de faire un test entre une std::string et un lit�ral de type char const *...)).

    J'avais pr�f�r� boost::test (mieux packag�, rien � faire pour la mise en place, tests auto enregistr�e, bonne instrumentation du code (fuites m�moires, d�sactivation des asserts...)).
    Ma session aux Microsoft TechDays 2013 : D�velopper en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage � la d�couverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'h�sitez pas � me contacter.

  7. #7
    Expert confirm�
    Avatar de Luc Hermitte
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Ao�t 2003
    Messages
    5 318
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyr�n�es)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : A�ronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Ao�t 2003
    Messages : 5 318
    Par d�faut
    J'ai un souvenir de CppUnit v1 inutilement complexe � utiliser (p.ex. tests � recenser 2 fois), avec avec beaucoup de manque dans les trucs testables. Pour moi il ne doit sa bonne r�putation qu'� son nom pour ceux qui viennent de jUnit. Pour un public qui connait le C++, il y a mieux (la profusion de frameworks de TU en C++ est d'ailleurs pour moi un indice que CppUnit est un �chec alors que jUnit me semble dominer l'�cosyst�me Java)

    A l'�poque j'utilisais CxxTest (.sf.net) qui reposait sur un script Perl et qui avait un vocabulaire bien plus riche. Le seul d�faut �tait li� � l'affichage de donn�es utilisateur pas toujours simple � mettre en oeuvre. Depuis le script a �t� r��crit en python et je n'ai plus eu l'occasion de l'essayer.

    Depuis donc j'ai essay� boost.test. Il n'est pas inutilement lourd, il fait son job, son vocabulaire est suffisamment riche. Le format des erreurs est bon (i.e. m�me format que celui de tous les outils *nix). S'il fallait lui trouver un d�faut : le besoin de disposer du .so pour pouvoir s'en servir.
    Je n'ai pas essay� google.test, il m'a l'air comparable.

    Pour info j'utilise CTest pour encapsuler la gestion de tous les tests. Plein d'avantages relativement � CDash, relativement � la possibilit� de tester des r�sultats produits (stdout/fichier(s)) (bien que la macro pour faire �a est � �crirebidouiller soi m�me, et que c'est tr�s tr�s mal document�).
    Un d�faut pour moi toutefois: les lignes sont pr�fix�es par les num�ros des tests (/des threads dans le cas de la compilation), j'ai d� rajouter un hack dans ma conf vim pour pouvoir nettoyer ce parasitage.
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne r�ponds � aucune question technique par le biais de ce m�dia. Et de toutes fa�ons, ma BAL sur dvpz est pleine...

  8. #8
    Invit�
    Invit�(e)
    Par d�faut
    Hello,

    Pour ma part c'est coup de coeur pour gtest. (1.6)
    Les macros sont claires, assert, expect, cest facile d'executer un test simples, ecrire un test est simple.

    Cppunit, pour moi cest trop complique. Creer des classes de tests, des sources etc... brr.

    Ctest jai teste aussi, de memoire cest appeler lexecutable plein de fois avec differents parametres, je trouve ca bof. Mais cest vrai qu'associe au reporting CDash, c'est sympa.

    Par contre, il est possible de se servir de gtest avec une bonne vieille macro (CMakeLists) couplee a CTest (pour pouvoir beneficier de la facilite decriture de tests avec gtest+reporting propose par CDash)

  9. #9
    r0d
    r0d est d�connect�
    Membre exp�riment�

    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Ao�t 2004
    Messages
    4 343
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Ao�t 2004
    Messages : 4 343
    Billets dans le blog
    2
    Par d�faut
    En effet gtest � l'air vraiment bien. De plus, j'ai vu qu'il existe d�j� quelques logiciels � priori s�rieux, se basant sur gtest, qui proposent des am�liorations int�ressantes.

    Mais boost a 2 avantages qui me paraissent non n�gligeables: boost est souvent int�gr� au cycle de d�veloppement (donc �a ne rajoute pas de d�pendance suppl�mentaire), et boost inspire plus confiance (nous l'utilisons depuis longtemps).

  10. #10
    Expert confirm�
    Avatar de Luc Hermitte
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Ao�t 2003
    Messages
    5 318
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyr�n�es)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : A�ronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Ao�t 2003
    Messages : 5 318
    Par d�faut
    Quels param�tres suppl�mentaires pour CTest ?

    Ton TU soit tu l'appelles directement si �a te fais plaisir, soir tu l'appelles via CTest (soit juste lui, soit tous les TU, soit certains TU (identifi�s par num�ro ou regex sur le nom), au besoin).
    Apr�s il y a des param�tres bien cach�es qui permettent de lancer l'ex�cution des TUs tout en calculant des taux de couverture du code, ou via valgrind.
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne r�ponds � aucune question technique par le biais de ce m�dia. Et de toutes fa�ons, ma BAL sur dvpz est pleine...

  11. #11
    Membre Expert
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    1 415
    D�tails du profil
    Informations personnelles :
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 415
    Par d�faut
    Citation Envoy� par galerien69 Voir le message
    Par contre, il est possible de se servir de gtest avec une bonne vieille macro (CMakeLists) couplee a CTest (pour pouvoir beneficier de la facilite decriture de tests avec gtest+reporting propose par CDash)
    Si t'as d�j� fait �a, �a m'int�resse.

  12. #12
    Invit�
    Invit�(e)
    Par d�faut
    ici un exemple:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    FOREACH(GTEST_SOURCE_FILE ${GTEST_SOURCE_FILES})
      FILE(STRINGS ${GTEST_SOURCE_FILE} GTEST_NAMES REGEX ^TEST)
      FOREACH(GTEST_NAME ${GTEST_NAMES})
        STRING(REGEX REPLACE ["\) \(,"] ";" GTEST_NAME ${GTEST_NAME})
        LIST(GET GTEST_NAME 1 GTEST_GROUP_NAME)
        LIST(GET GTEST_NAME 3 GTEST_NAME)
        ADD_TEST(${GTEST_GROUP_NAME}.${GTEST_NAME}
    ${EXECUTABLE_OUTPUT_PATH}/${BIN_NAME}
    --gtest_filter=${GTEST_GROUP_NAME}.${GTEST_NAME})
      ENDFOREACH()
    ENDFOREACH()
    ce qui consiste � appeler lexecutable avec en param�tre le nombre du test pars� par cette macro et ce pour chaque test.
    Du coup, ya pas besoin de "r�f�rencer" la liste des tests dans le CMakeLists, c'est fait par la macro qui parse les fichiers!

    J'ai plus les sources, mais je peux reconstruire un ex si n�cessaire, c'est assez imm�diat

  13. #13
    Membre Expert
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    1 415
    D�tails du profil
    Informations personnelles :
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 415
    Par d�faut
    Ca ira je pourrais me d�brouiller avec tes r�f�rences, merci pour l'astuce !

  14. #14
    Membre confirm�
    Profil pro
    �tudiant
    Inscrit en
    Juin 2007
    Messages
    204
    D�tails du profil
    Informations personnelles :
    �ge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 204
    Par d�faut
    Bonjour � tous,

    Je suis compl�tement novice dans les tests unitaires, et d'un point de vue de d�butant, je peux vous dire que CppUnit n'est pas facile � mettre en place.

    Je ne peux pas comparer avec beaucoup d'outils, mais j'utilise actuellement UnitTest++ qui est beaucoup plus facile � mettre en place, et est apparemment reconnu pour �tre l�ger d'utilisation.

  15. #15
    Membre exp�riment�
    Avatar de David Fleury
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    253
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 253
    Par d�faut
    Bonjour,

    sur tous mes projets, pro et perso, j'utilise un fork maison de cpp unit lite, tr�s simple � utiliser.

  16. #16
    Membre �prouv�
    Profil pro
    Inscrit en
    F�vrier 2008
    Messages
    114
    D�tails du profil
    Informations personnelles :
    �ge : 38
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2008
    Messages : 114
    Par d�faut
    Bonjour,

    Personnellement, avant j'utilisais WinUnit (http://winunit.codeplex.com/) puisque c'�tait le r�sultat qui sortait le plus souvent dans mes recherches google.

    Depuis que j'ai vu ce topic, je me lance dans l'utilisation de GTest.

  17. #17
    Membre averti
    Inscrit en
    Mai 2010
    Messages
    23
    D�tails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 23
    Par d�faut YAffut
    Yet Another Framework for Unit-Testing : http://members.home.nl/rutger.van.beusekom/

    Tr�s simple � mettre en place et � utiliser .....

  18. #18
    Membre Expert

    Avatar de germinolegrand
    Homme Profil pro
    D�veloppeur de jeux vid�o
    Inscrit en
    Octobre 2010
    Messages
    738
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de D�me (Auvergne)

    Informations professionnelles :
    Activit� : D�veloppeur de jeux vid�o
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Octobre 2010
    Messages : 738
    Par d�faut
    A vot� : Aucune, je ne fais pas de tests unitaires.

  19. #19
    Membre tr�s actif
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    688
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 688
    Par d�faut
    je conseil Boost.test, dans ma boite on a test� google test cppunit et on a adopt� boost.test. Sous visual en cr�er un petit plugin il est possible de ne lancer qu'un seul test au lieu de tous, tr�s pratique .

  20. #20
    Membre Expert
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    1 415
    D�tails du profil
    Informations personnelles :
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 415
    Par d�faut
    Citation Envoy� par guillaume07 Voir le message
    Sous visual en cr�er un petit plugin il est possible de ne lancer qu'un seul test au lieu de tous, tr�s pratique.
    Dommage d'aller jusqu'� la cr�ation d'un plugin pour �a Dans boost.test je ne sais pas mais dans gtest c'est une option � passer sur l'ex�cutable g�n�r� (et �a prend des patterns et tout, c'est pas mal).

Discussions similaires

  1. Quelles versions d'Access utilisez-vous en 2009 ?
    Par Maxence HUBICHE dans le forum Sondages et D�bats
    R�ponses: 16
    Dernier message: 19/05/2016, 17h17
  2. Quelles solutions open source utilisez-vous et pourquoi ?
    Par Hinault Romaric dans le forum Logiciels Libres & Open Source
    R�ponses: 11
    Dernier message: 28/11/2013, 12h45
  3. Quelles solutions de backup utilisez-vous ?
    Par slyz0r dans le forum Administration syst�me
    R�ponses: 8
    Dernier message: 18/05/2011, 21h29
  4. [Newsletter] OVH : Quelle solution de newsletter utilisez vous ?
    Par zepokpok dans le forum EDI, CMS, Outils, Scripts et API
    R�ponses: 2
    Dernier message: 06/03/2011, 22h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo