I habe einige Module unter https://github.com/rpavlik/cmake-modules/ einschließlich einige für die Integration Boost-Test gemacht - siehe die Readme in diesem Repo für Informationen über die einfachste Möglichkeit, sie zu verwenden.
Dann möchten Sie Folgendes tun, unter der Annahme, dass test_DimensionedQuantities.cpp eine boost.test-Testtreiberquelle ist.
include(BoostTestTargets)
add_boost_test(DimensionedQuantities
SOURCES
test_DimensionedQuantities.cpp)
Dies fügt nur einen einzigen CTest-visible-Test hinzu, der fehlschlägt, wenn einer der Boost-Tests fehlschlägt. Wenn Sie Tests, die nach dem Namen der Testfahrer festgelegt werden können (die einfachsten Makros in diese Kategorie fallen), können Sie etwas tun:
include(BoostTestTargets)
add_boost_test(DimensionedQuantities
SOURCES
test_DimensionedQuantities.cpp
TESTS
CheckCollision
BodyPoseNotCorrupted
CheckGraspTransform
BodyFollowsMockManip1D
BodyFollowsMockManip2D
BodyFollowsMockManip3D)
Es gibt ein paar mehr Optionen, einschließlich der Konfiguration eines Headers zu Wählen Sie die beste Option für eine: inkludierte Version von UTF, b: static link, oder c: dynamic link, sowie für die Verknüpfung mit Bibliotheken, etc. Suchen Sie in der cmake-Datei nach Informationen.
Danke, das hat funktioniert! – forneo
+1 für diese Information. Könntest du vielleicht erklären, wie man Unit-Tests automatisch erstellt (http://stackoverflow.com/q/16857517/819272)? – TemplateRex