hud*_*dac 8 c++ boost unit-testing boost-test
我正在使用BOOST TEST,我想知道是否有办法test suite从里面找出test case.我知道我可以test case通过以下方式找到姓名:
boost::unit_test::framework::current_test_case().p_name
有没有办法找出套件名称呢?
我的套房 - 案例结构是:
suite ---> case 1
______|--> case 2
______|--> case 3
谢谢
A unit_test不仅有,p_name而且还有p_parent_id测试套件的ID.这两个属性继承test_unit,这是共同的基类为unit_test和test_suite.
要从ID中获取套件,我们可以看看它是如何current_test_case工作的:
test_case const&
current_test_case()
{
return get<test_case>( s_frk_impl().m_curr_test_case );
}
Run Code Online (Sandbox Code Playgroud)
该m_curr_test_case成员是一个test_unit_id,就像p_parent_id.因此,要获得当前测试用例的测试套件,您可以使用:
framework::get<test_suite>(current_test_case().p_parent_id)
Run Code Online (Sandbox Code Playgroud)
最后,test_suite有一个p_name属性unit_test,所以你应该在那里找到名称.