Używam Boost.Test do testowania urządzenia.Próbne testy pobrane w bibliotece statycznej
Z kilku powodów chciałbym napisać przypadki testów jednostkowych na różnych bibliotekach statycznych.
Problem polega na tym, że automatyczny rejestrator nie działa, gdy to robię.
Na przykład, jeśli mam coś takiego:
// foo_tests.cpp
#define BOOST_TEST_MODULE "Foo"
#include <boost/test/unit_test.hpp>
BOOST_AUTO_TEST_CASE(Bar)
{
BOOST_CHECK(false);
}
// used to generate libFooTests.a
// main.cpp
#define BOOST_TEST_DYN_LINK
#define BOOST_TEST_MAIN
#include <boost/test/unit_test.hpp>
// used to generate main.o
Następnie, jeśli mogę połączyć main.o z libFooTests.a i wykonać ostateczną binarny, to mówi:
Test setup error: test tree is empty
Wszystko działa dobrze, jeśli utworzę plik binarny bezpośrednio z kodów źródłowych, ale nie będę mógł pisać testów jednostkowych w statycznych bibliotekach przy użyciu automatycznej rejestracji.
Czy mogę to osiągnąć?
Czy jest jakieś makro, które muszę zdefiniować? Jakiś symbol, który muszę wyeksportować z libFooTests.a?
Dzięki!