Как установить какой тестовый модуль Boost запустить - PullRequest
3 голосов
/ 24 февраля 2011

Я пытаюсь использовать буст-тест и, в частности, буст-юнит-тестирование.

Я явно не понимаю, как генерируется и вызывается основная функция, все, что говорится в учебнике, - определить модуль и написать тест

#define BOOST_TEST_MODULE EnfTraderTest

BOOST_AUTO_TEST_CASE(CalculateExpectedPriceTest){BOOST_ERROR("Oops");}

Но как мне сказать моей программе запустить этот тест? У меня уже есть функция main, я хотел бы решить, запускать тест или нет, из своей функции main.

1 Ответ

5 голосов
/ 07 марта 2011

Самый простой способ сделать это - записать свои тесты в один .cpp -файл и определить макрос BOOST_TEST_MODULE перед тем, как включить unit_test.hpp. Затем вы можете скомпилировать этот .cpp -файл и выполнить его. Если у вас есть тесты в нескольких .cpp -файлах, просто свяжите их все вместе, но позаботьтесь о том, чтобы BOOST_TEST_MODULE или BOOST_TEST_MAIN были определены только в одном из них.

Вы можете использовать параметр командной строки run_test только для запуска подмножества тестов, по умолчанию все тесты запускаются.

...