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

Тогда, если я свяжу main.o с libFooTests.a и выполню В финальном двоичном коде говорится:

Ошибка настройки теста: тестовое дерево пусто

Все работает нормально, если я создаю двоичный файл напрямую из исходных кодов, но я потерял ' t, чтобы иметь возможность писать модульные тесты внутри статических библиотек с использованием автоматической регистрации.

Могу ли я добиться этого?

Есть ли какой-то макрос, который мне нужно определить? Какой-то символ, который мне нужно экспортировать из libFooTests.a?

Спасибо!

11
задан Gaston 2 February 2011 в 17:56
поделиться