Dans le processus de définition de notre cadre de tests unitaires C++ pour les années à venir, nous avons présélectionné GoogleTest et CppUnit. J'ai une certaine expérience avec les deux et ma préférence est pour GoogleTest. Quoi qu'il en soit, pour convaincre mon patron que j'ai besoin de quelques faits j'ai donc fait quelques lectures sur Internet, y compris les manuels, les pages wiki et certaines des sources. Je suis venu avec une liste d'avantages GoogleTest et un seul avantage CppUnit (coureurs de test graphique). Ici, ils sont classés par perç utilité:
Ai-je raison de supposer que tout ce qui précède n'est pas pris en charge par CppUnit? Existe-t-il une fonctionnalité GoogleTest utile non disponible dans CppUnit qui me manque?
Et enfin et surtout: existe-t-il des fonctionnalités Nice CppUnit que GoogleTest manque?
Merci!
Si vous utilisez une ancienne version du compilateur gcc ou si votre code sous tests s'exécute sur vxWorks (ou VxSim), vous pourriez avoir une meilleure chance avec cppUnit que le framework Googletest.
D'un autre côté, une autre caractéristique du framework googletest est la disponibilité de 3 niveaux différents de configuration/démontage:
Je ne sais pas si cela est pris en charge dans cppUnit, mais cela peut être très utile, en particulier avec les systèmes hérités.
Il existe également un plugin googletest pour Eclipse CDT.
Ce sont les avantages que je vois. Il existe quelques exécuteurs de test GUI:
J'ai utilisé le premier et il fonctionne plutôt bien même s'il est en cours de développement et nécessite un peu de travail. Je ne sais pas s'il existe d'autres options.
Si vous n'avez pas regardé xUnit ++ , je l'ai fait spécifiquement parce que je n'étais pas satisfait de ce qui était disponible (y compris gtest). La plupart de votre liste est prise en charge, et sinon, s'il s'agit d'une fonctionnalité "indispensable", je serais probablement disposé à l'ajouter.