2011-02-02 18 views
11

Sto utilizzando Boost.Test per il test dell'unità.Boost.Test test su una libreria statica

A causa di diversi motivi, vorrei scrivere i casi di test unitario su diverse librerie statiche.

Il problema è che quando eseguo questa operazione, il registrar automatico non funziona.

Per esempio, se ho qualcosa di simile:

// 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 

Poi, se collego main.o con libFooTests.a ed eseguire il file binario finale, si dice:

Test setup error: test tree is empty

Tutto funziona perfettamente se creo il codice binario direttamente dai codici sorgente, ma non sarò in grado di scrivere test di unità all'interno di librerie statiche utilizzando la registrazione automatica.

Posso ottenere questo?

C'è qualche macro che devo definire? Qualche simbolo che devo esportare da libFooTests.a?

Grazie!

risposta

Problemi correlati