Как я могу пропустить BOOST unit test? Я хотел бы программно пропустить некоторые из моих модульных тестов в зависимости от (например) платформы, на которой я их выполняю. Мое текущее решение:
#define REQUIRE_LINUX char * os_cpu = getenv("OS_CPU"); if ( os_cpu != "Linux-x86_64" ) return;
BOOST_AUTO_TEST_CASE(onlylinux) {
REQUIRE_LINUX
...
the rest of the test code.
}
(обратите внимание, что наша среда сборки устанавливает переменную OS_CPU). Это кажется уродливым и подверженным ошибкам, а также как бесшумные пропуски могут заставить пользователей пропускать тесты, не зная об этом.
Как я могу с легкостью пропустить тесты модульных модулей на основе произвольной логики?