2011-01-23 3 views
31

Je suis nouveau dans le monde des tests unitaires, fondamentalement, je suis développeur C++ travaillant sur un grand produit depuis presque 3 ans, et maintenant j'ai décidé d'effectuer des tests unitaires automatisés de mon code. Pour cela, je fais beaucoup de recherches sur Internet et suis tombé sur de nombreux outils et cadres et finalement choisi les deux suivants: 1) Bibliothèques Boost test 2) Cadre Google test pour C++Boost Test Vs Google Test Framework

Maintenant, je suis confus quant à la choisissez parmi ceux-ci. Si quelqu'un utilise l'un des éléments ci-dessus, veuillez partager votre expérience.

+0

La réponse à l'ancienne question SO ["boost.test vs. CppUnit"] (http://stackoverflow.com/questions/3100322/boost-test-vs-cppunit) compare Boost et Google Test. – aponomarenko

Répondre

7

Si vous utilisez déjà Boost libraries, puis de s'y tenir Boost test Libs. Il devrait prendre soin de la plupart de vos besoins de journalisation. Sinon, Google-test est recommandé. Je l'ai utilisé dans un grand projet et je l'ai trouvé plus facile à utiliser. Plus important encore, les messages d'erreur du compilateur sont plus faciles à localiser dans GTEST; boost utilise des modèles.

Je n'ai jamais écrit de tests compliqués utilisant l'une de ces deux bibliothèques. Pour des tests simples, n'importe lequel d'entre eux irait bien. Bien que google-test vous permettra d'économiser du temps de compilation. Boost-test avec boost-log est vraiment une bonne combinaison. Essayez-le!

+1

Depuis la version 1.7, gtest utilise également des templates et les messages d'erreur du compilateur sont ce à quoi on peut s'attendre - horrible. – Martin

4

Suggère que vous jetez un oeil à googlemock, un sur-ensemble de googletest. Googlemock a toutes les capacités de test de googletest plus les capacités moqueuses de googlemock.