在输出文件名中使用测试用例名称

and*_*ykx 5 c++ boost-test

我用来boost::test在创建目录和文件的类上运行集成测试.我希望这些文件被命名为测试用例特定的,所以如果我遇到麻烦,我可以很容易地找到哪个测试用例留下了它的目录/文件.

所以我想在我正在使用的fixture的构造函数中使用测试用例名,如下所示.这有可能吗?怎么样?我搜索了boost :: test手册,却找不到这些信息.

例如

struct foo_fixture
{
    foo_fixture() 
    { 
        std::string case_dependent_name( BOOST_TEST_CASE_NAME ); 
        create_directory( case_dependent_name );
    }
};

BOOST_FIXTURE_TEST_CASE ( foo_case_one, foo_fixture )
{
   ...
}
BOOST_FIXTURE_TEST_CASE ( foo_case_two, foo_fixture )
{
   ...
}
Run Code Online (Sandbox Code Playgroud)

Dan*_*n B 7

我发现了这个,它有效:

促进用户组讨论

实质上,您使用test_unit实例上找到的字符串成员变量:

boost::unit_test::framework::current_test_case().p_name
Run Code Online (Sandbox Code Playgroud)