Boost.Test — Как написать тест, который не запускается автоматически

#c #boost-test

Вопрос:

В проекте, над которым я работаю, используется система непрерывной интеграции (CI), которая автоматически создает и запускает все наборы тестов. Автоматические тесты выполняются без каких-либо аргументов командной строки. Я хотел бы добавить длительные тесты в существующие наборы, и я не хочу, чтобы эти тесты запускались CI. Как правильно добавлять тесты, которые не запускаются автоматически?

Я думаю использовать пользовательские аргументы командной строки. Есть ли более явный способ сделать это?

Ответ №1:

См. раздел Включение или отключение выполнения тестового модуля.

По сути,

   BOOST_AUTO_TEST_CASE(test1, * boost::unit_test::disabled())
  {
     ...
  }
 

Если вы запускаете без параметров, он не будет выполняться.

С --run_test=test1 помощью или --run_test=* он все равно будет выполняться.