Boost Unit Test Framework Vs. googletest
-
Hat irgendjemand hier Erfahrungen mit dem Unit Test Framework von Boost und dem Google C++ Testing Framework und möchte erläutern, wie sich die beiden im Vergleich zueinander schlagen?
Links zu den beiden Tools:
http://www.boost.org/doc/libs/1_35_0/libs/test/doc/components/utf/index.html
http://code.google.com/p/googletest/Ich schreibe nämlich das erste Mal seit längerer Zeit wieder ein wenig C++ und hätte dafür gerne ein gutes Unit Testing Framework. Die beiden oben genannten sind mir als erstes ins Auge gesprungen, daher die Frage danach.
Wenn Ihr andere Vorschläge habt: Immer her damit!
-
Ich hab mit beiden mal ein wenig rumgespielt, und mal abgesehn von rein geschmacklichen Unterschieden tun sich die beiden nicht viel, zumindest nicht so oberflächlich wie ich sie benutzt habe. Ich habe auch schonmal eine etwas tiefergehende Analyse zu Gesicht bekommen, die allerdings sehr auf ein zu entwickelndes Produkt ausgerichtet war - Ergebnis: die Vor- und Nachteile heben sich gegenseitig auf, evtl. davon abgesehen dass das google-Framework mit dem googlemock Framework ein bisschen besser zusammenpasst (wer hätts gedacht)
-
Ich habe erfolgreich http://tut-framework.sourceforge.net/ im Einsatz. Ist Header-Only, nutzt keine Makros und sonst auch keine Tricks. Man kann auch einzelne Tests ansteuern lassen. Die Ausgabe ändern. Ich finde das echt klasse! Und die Lizenz ist auch sehr nett.
-
nman schrieb:
http://www.boost.org/doc/libs/1_35_0/libs/test/doc/components/utf/index.html
1.35? Du hast wirklich lange kein C++ mehr programmiert ;). 10 Boost-Releases lang :). Der Quicklink: http://www.boost.org/libs/test
Ich persönlich benutze das Boost-Framework. Einfach aus dem Grund, weil es bei Boost dabei ist (Boost hat man ja eh installiert) und ich das in anderen Projekten benutzt habe und daher einfach dort nachschauen kann, wenn ich die Doku mal wieder zu unübersichtlich finde oder nachschauen will, wie man das Projekt am besten baut.
Die Frage ist natürlich, ob du irgend welche speziellen Anforderungen an das Testing-Framework hast.
Artchi schrieb:
Ich habe erfolgreich http://tut-framework.sourceforge.net/ im Einsatz. Ist Header-Only, nutzt keine Makros und sonst auch keine Tricks. Man kann auch einzelne Tests ansteuern lassen. Die Ausgabe ändern. Ich finde das echt klasse! Und die Lizenz ist auch sehr nett.
Tut habe ich vor ein paar Jahren mal benutzt. Aber irgend was war damals etwas problematisch damit und zwei Leute (MrN und ronny) aus dem Projekt für das wir Tut benutzt haben, haben dann testsoon geschrieben. Aber testsoon wurde dann für Boost.Test aufgegeben.
-
Danke für die Antworten. Sowas ähnliches hatte ich fast schon vermutet, ich tendiere momentan in Richtung Boost; gut zu wissen, dass es offenbar keine allzu schwerwiegenden Gründe gibt, das für Durchschnittsprojekte nicht zu verwenden.
Artchi: Tut sieht auch nett aus, danke für die Empfehlung.
rüdiger: Du weißt nicht zufällig noch, was für Probleme Tut genau gemacht hat? Verbreitungsgrad und Verfügbarkeit von Boost betrachte ich zwar ohnehin als Vorteile, aber die Nachteile von Tut würden mich trotzdem interessieren, hätte das schon auch gerne mal ausprobiert.
rüdiger schrieb:
1.35? Du hast wirklich lange kein C++ mehr programmiert ;). 10 Boost-Releases lang :). Der Quicklink: http://www.boost.org/libs/test
Ach, Mist. Nur schnell Links von http://www.google.com/search?q=boost+unit+test kopieren ist offensichtlich doch nicht sinnvoll.
Die Frage ist natürlich, ob du irgend welche speziellen Anforderungen an das Testing-Framework hast.
Nein, überhaupt nichts. Das ganze Standardzeugs hätte ich natürlich gerne. Fixtures, irgendeine Art von Test-Gruppierung, vernünftige Tests für Templates und Exceptions. Nichts ungewöhnliches eben, nur Sachen die ohnehin fast jedes Framework kann.
-
nman schrieb:
rüdiger: Du weißt nicht zufällig noch, was für Probleme Tut genau gemacht hat? Verbreitungsgrad und Verfügbarkeit von Boost betrachte ich zwar ohnehin als Vorteile, aber die Nachteile von Tut würden mich trotzdem interessieren, hätte das schon auch gerne mal ausprobiert.
Habe ronny gefragt und der sagt
[21:51:24] <ronny> ruediger: cimpile time epic fail
[21:51:33] <ronny> ruediger: tut war uebel von der compile time
[21:51:45] <ronny> und man konnte nur nummer nehmen
-
Ich fand Boost Test ok, aber halt ein bißchen kryptisch wie immer bei Boost. Ich werde bald einen ernsthaften Versuch mit gtest unternehmen, weil gmock dazupasst. Die Vorstellung automatisch Mocks generiert zu bekommen ist schon reizvoll.