В ваши test_foo.cpp
макросы добавляют наборы тестов и тестовые случаи в
в глобальный список: master_testsuite
, который является корнем всех тестов
узлы. Вам просто нужно скомпилировать все тестовые файлы, как
test_foo.cpp
, test_boo.cpp
и бегуна, затем связать их всех в
исполняемый файл.
Функция unit_test_main
используется для запуска тестов в master_testsuite
.
boost::unit_test::unit_test_main(
&init_unit_test,
argc,
argv
)
На основе макроса, который вы определили перед включением
<boost/test/unit_test.h>
, Boost.Test может уже генерировать main
функция для вас. [1] Сгенерированный main
просто вызван
unit_test_main
с argc
и argv
в main
. Рекомендуется
используйте unit_test_main
, потому что он может обрабатывать некоторые аргументы консоли,
как выполнить тест по имени .
Первый аргумент unit_test_main
- это ловушка. В зависимости от
BOOST_TEST_ALTERNATIVE_INIT_API
, у него другое определение.
#ifdef BOOST_TEST_ALTERNATIVE_INIT_API
typedef bool (*init_unit_test_func)();
#else
typedef test_suite* (*init_unit_test_func)( int, char* [] );
#endif
Вы можете настроить master_testsuite
на крючке. Во-вторых
форма, возвращаемое значение - новый мастер набор тестов.
[1], если определены BOOST_TEST_MAIN
и BOOST_TEST_MAIN
, но
BOOST_TEST_NO_MAIN
нет.