Je sais qu'il y a déjà quelques questions concernant les recommandations pour les cadres de test unitaire C ++, mais toutes les réponses n'ont pas aidé car ils recommandent simplement l'un des cadres mais ne fournissent aucune information sur une comparaison (de fonctionnalité).
Je pense que les frameworks les plus intéressants sont CppUnit, Boost et le nouveau framework de test Google. Quelqu'un a-t-il déjà fait une comparaison?
c++
unit-testing
cppunit
googletest
boost-test
femme de ménage
la source
la source
Réponses:
Voir cette question pour une discussion.
Ils recommandent les articles: Exploring the C ++ Unit Testing Framework Jungle , By Noel Llopis. Et le plus récent: les cadres d'unités de test C ++
Je n'ai pas encore trouvé d'article qui compare googletest aux autres frameworks.
la source
Un nouveau lecteur est Google Test (également connu sous le nom de Google C ++ Testing Framework ), ce qui est plutôt sympa.
Caractéristiques principales:
ASSERT_EQ(5, Foo(i)) << " where i = " << i;
SCOPED_TRACE
pour les boucles de sous-programmela source
Je viens de pousser mon propre framework, CATCH , là-bas. Il est encore en cours de développement, mais je pense qu'il dépasse déjà la plupart des autres cadres. Différentes personnes ont des critères différents, mais j'ai essayé de couvrir la plupart des terrains sans trop de compromis. Jetez un oeil à mon entrée de blog liée pour un avant-goût. Mes cinq principales fonctionnalités sont:
Il dispose également de liaisons Objective-C. Le projet est hébergé sur Github
la source
CHECK_FLASE
et lesREQUIRE_FLASE
macros.La bibliothèque de tests Boost est un très bon choix, surtout si vous utilisez déjà Boost.
Elle supporte:
PS: J'ai écrit un article à ce sujet qui pourrait vous aider à démarrer: C ++ Unit Testing Framework: A Boost Test Tutorial
la source
Wikipedia a une liste complète de frameworks de tests unitaires , avec des tableaux qui identifient les fonctionnalités prises en charge ou non.
la source
J'ai récemment publié xUnit ++ , spécifiquement comme une alternative à Google Test et à la bibliothèque de tests Boost (voir les comparaisons ). Si vous connaissez xUnit.Net, vous êtes prêt pour xUnit ++.
Caractéristiques principales:
Assert.Equal(-1, foo(i)) << "Failed with i = " << i;
Log.Debug << "Starting test"; Log.Warn << "Here's a warning";
la source
CppUTest - un cadre très agréable et léger avec de fausses bibliothèques. Il vaut la peine de regarder de plus près.
la source
CPUnit ( http://cpunit.sourceforge.net ) est un framework similaire à Google Test, mais qui repose sur moins de macos (les assertions sont des fonctions), et où les macros sont préfixées pour éviter l'écueil habituel des macros. Les tests ressemblent à:
Ils s'enregistrent automatiquement, vous n'avez donc pas besoin de plus que cela. Ensuite, il suffit de compiler et d'exécuter. Je trouve que l'utilisation de ce framework ressemble beaucoup à l'utilisation de JUnit, pour ceux qui ont dû passer du temps à programmer Java. Très agréable!
la source
Il existe des ressources de test unitaire C ++ pertinentes sur http://www.progweap.com/resources.html
la source
API Sanity Checker - framework de test pour les bibliothèques C / C ++:
Fonctionnalités uniques par rapport à CppUnit, Boost et Google Test:
la source