2011-02-02 17 views
11

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!

Odpowiedz

Powiązane problemy