Я использую Boost модульные тесты BOOST_AUTO_TEST_CASE
Требуется удалить main()
функция для выполнения тестовых случаев.
Вопрос в том
Какие директивы следует использовать для переключения между режимами Normal / UnitTest? У меня есть кроссплатформенное приложение для Windows и Unix.
У меня есть только одно предложение: использовать что-то вроде #ifndef TESTING
в main.cpp
и используйте ручную смену #define TESTING
линия ?
Есть ли лучшее решение?
Спасибо
Модульные тесты должны идти в отдельный переводческий блок. Если у вас есть foo.hpp
а также foo.cpp
для вашей библиотеки у вас есть что-то вроде foo_test.cpp
для юнит-тестов. Тогда ваша среда сборки будет уведомлена о новой «тестовой» цели, которая собирает и запускает эти тесты.
Других решений пока нет …