2011-02-02 5 views
11

유닛 테스트를 위해 Boost.Test를 사용하고 있습니다.정적 라이브러리의 Boost.Test 테스트

여러 이유 때문에 단위 테스트 사례를 다른 정적 라이브러리에 작성하고 싶습니다.

문제는이 작업을 수행 할 때 자동 레지스트라가 작동하지 않는다는 것입니다. 나 같은 경우 예를 들어

:

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

다음을 내가 libFooTests.a와 main.o를 연결하고 최종 바이너리를 실행하면, 그것은 말한다 :

Test setup error: test tree is empty

소스 코드에서 직접 바이너리를 작성하면 모든 것이 잘 작동하지만 자동 등록을 사용하여 정적 라이브러리 내에서 단위 테스트를 작성할 수는 없습니다.

이것을 수행 할 수 있습니까?

정의해야 할 매크로가 있습니까? libFooTests.a에서 내보낼 기호가 있습니까?

감사합니다. 당신 같은 문제 그리고 당신은 내가 내 대답에서했던 것과 유사한 해결책을 도출해야합니다

답변