Die Boost.Test documentation und Beispiele scheinen nicht wirklich nicht-triviale Beispiele zu enthalten und so weit die beiden Tutorials und here hilfreich sind beide ziemlich einfach.Boost.Test: Auf der Suche nach einer funktionierenden nicht-Trivial Test Suite Beispiel/Tutorial
Ich würde gerne eine Master-Test-Suite für das gesamte Projekt haben, während pro Modul Suiten von Komponententests und Armaturen, die unabhängig voneinander ausgeführt werden können beibehalten. Ich werde auch einen Mock-Server verwenden, um verschiedene Netzwerk-Edge-Fälle zu testen.
Ich bin auf Ubuntu 8.04, aber ich nehme irgendein Beispiel Linux oder Windows, da ich sowieso meine eigenen Makefiles schreibe.
bearbeiten
Als Test habe ich die folgenden:
// test1.cpp
#define BOOST_TEST_MODULE Regression
#include <boost/test/included/unit_test.hpp>
BOOST_AUTO_TEST_SUITE(test1_suite)
BOOST_AUTO_TEST_CASE(Test1)
{
BOOST_CHECK(2 < 1);
}
BOOST_AUTO_TEST_SUITE_END()
// test2.cpp
#include <boost/test/included/unit_test.hpp>
BOOST_AUTO_TEST_SUITE(test2_suite)
BOOST_AUTO_TEST_CASE(Test1)
{
BOOST_CHECK(1<2);
}
BOOST_AUTO_TEST_SUITE_END()
Dann habe ich es kompilieren: g++ test1.cpp test2.cpp -o tests
Das gibt mir über eine Unmenge von "multiple Definition von" Fehler beim Verlinken .
Wenn alles in einer einzigen Datei ist, funktioniert es gut.
Der _Single Header variant_ von UTF, das Sie verwenden, nur für einzelne Datei funktioniert. Dieses 'kleine Detail' ist [dokumentiert] (http://www.boost.org/doc/libs/1_56_0/libs/test/doc/html/utf/user-guide/usage-variants/single-header-variant. html): _Diese Variante kann nicht mit dem Multi-File-Testmodul verwendet werden. _ –