带有 boost 和 log4cplus 的 Visual Studio 测试资源管理器未找到测试

问题描述

如果“log4cplus::Initializer mInitialize;”,Visual Studio 测试资源管理器没有找到测试代码在测试夹具中。

导致问题的示例代码

#define BOOST_TEST_MODULE Log4cplus
#include <boost/test/included/unit_test.hpp>
#include <log4cplus/initializer.h>

struct F {
    F()
    { 
        BOOST_TEST_MESSAGE("setup fixture");
    }
    ~F() 
    { 
        BOOST_TEST_MESSAGE("teardown fixture");
    }

    //When this goes out of scope log4cplus threads will exit
    log4cplus::Initializer mInitialize;

};

BOOST_FIXTURE_TEST_SUITE(Log4cplus_Test,F)

BOOST_AUTO_TEST_CASE( test_1 )
{
      BOOST_REQUIRE_EQUAL("a","a");
}

BOOST_AUTO_TEST_SUITE_END()

如果您注释掉 log4cplus::Initializer mInitialize;,那么 Visual Studio 将找到测试。

正在使用的版本:Visual Studio 2019 16.10.2、Boost 1.75.0 和 Log4cplus 2.0.5.0。

感谢任何帮助!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)