Как установить какой тестовый модуль Boost запустить
Я пытаюсь использовать буст-тест и, в частности, буст-юнит-тестирование.
Я ясно не понимаю, как генерируется и вызывается основная функция, все, что говорится в руководстве, - определить модуль и написать тест.
#define BOOST_TEST_MODULE EnfTraderTest
BOOST_AUTO_TEST_CASE(CalculateExpectedPriceTest){BOOST_ERROR("Oops");}
Но как мне сказать моей программе запустить этот тест? У меня уже есть основная функция, я хотел бы решить, запускать тест или нет, из моей основной функции.
1 ответ
Самый простой способ сделать это - записать свои тесты в один .cpp
-file и определить макрос BOOST_TEST_MODULE
прежде чем включить unit_test.hpp
, Затем вы можете скомпилировать это .cpp
-файл и выполнить его. Если у вас есть тесты в нескольких .cpp
-файлы, просто свяжите их все вместе, но будьте осторожны, что либо BOOST_TEST_MODULE
или же BOOST_TEST_MAIN
определены точно в одном из них.
Вы можете использовать параметр командной строки run_test
чтобы запустить только подмножество тестов, по умолчанию запускаются все тесты.