如何跳过 BOOST 单元测试?我想以编程方式跳过我的一些单元测试,具体取决于(例如)我正在执行它们的平台。我目前的解决方案是:
#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)。这看起来很丑陋且容易出错,而且就像静默跳过可能会导致用户在不知情的情况下跳过测试。
如何基于任意逻辑干净地跳过 boost 单元测试?