Как установить какой тестовый модуль 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 чтобы запустить только подмножество тестов, по умолчанию запускаются все тесты.

Другие вопросы по тегам