Tun Sie sich einen Gefallen und gehen Sie direkt zu Google Test, was CppUnit und boost::unit_test
klobig und sich wiederholend aussehen lässt.
Zum Beispiel, sagen Sie eine einfache Befestigung haben:
class MyFixture : public ::testing::Test
{
protected:
int foo;
virtual void SetUp() { foo = 0; }
};
Um einen Test zu Ihren Scheinwerfer hinzufügen, schreiben Sie es!
TEST_F(MyFixture, FooStartsAtZero) {
EXPECT_EQ(0, foo);
}
Das ist alles was Sie brauchen. Beachten Sie das Fehlen expliziter Testsuite-Deklarationen oder eine separate Agenda, die alle Namen Ihrer Tests wiederholt. nur
Kompilieren es wie in
$ g++ -o utest utest.cpp -lgtest -lgtest_main
und führen Sie Ihre Test
Running main() from gtest_main.cc
[==========] Running 1 test from 1 test case.
[----------] Global test environment set-up.
[----------] 1 test from MyFixture
[ RUN ] MyFixture.FooStartsAtZero
[ OK ] MyFixture.FooStartsAtZero (0 ms)
[----------] 1 test from MyFixture (0 ms total)
[----------] Global test environment tear-down
[==========] 1 test from 1 test case ran. (0 ms total)
[ PASSED ] 1 test.
zu bekommen (Führen Sie es selbst den schönen grünen Text für die Prüfungen zu sehen!)
Dies ist der Anfang. Werfen Sie einen Blick auf die Google Test primer und die advanced guide, um zu sehen, was sonst noch möglich ist.
Sie werden wahrscheinlich die Antworten auf http://stackoverflow.com/questions/242926/comparison-of-c-unit-test-frameworks nützlich finden. –
@Alex: Danke für Ihren Beitrag, es gibt einige sehr hilfreiche Links darin – chrmue
Gute Verbindung, AAlex, +1. @chrmue, um zu klären - sollte der Vergleich, nach dem Sie suchen, einen Boost-Benutzer annehmen oder nicht? Fragen Sie: "Wenn ich Boost zur Entwicklung nutze, hat Boost dann einen Vorteil?" Oder suchen Sie nur einen einfachen Vergleich? – Mawg