Актуальность использования директив препроцессора для тестирования модуля

Я использую Boost модульные тесты BOOST_AUTO_TEST_CASE
Требуется удалить main() функция для выполнения тестовых случаев.
Вопрос в том
Какие директивы следует использовать для переключения между режимами Normal / UnitTest? У меня есть кроссплатформенное приложение для Windows и Unix.

У меня есть только одно предложение: использовать что-то вроде #ifndef TESTING в main.cpp и используйте ручную смену #define TESTING линия ?

Есть ли лучшее решение?

Спасибо

0

Решение

Модульные тесты должны идти в отдельный переводческий блок. Если у вас есть foo.hpp а также foo.cpp для вашей библиотеки у вас есть что-то вроде foo_test.cpp для юнит-тестов. Тогда ваша среда сборки будет уведомлена о новой «тестовой» цели, которая собирает и запускает эти тесты.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]