9

我正在使用BOOST TEST,我想知道是否有办法test suitetest case. 我知道我可以test case通过以下方式找到 的名字:

boost::unit_test::framework::current_test_case().p_name

有没有办法找出套件名称呢?

我的套房案例结构是:

suite ---> case 1

______|--> case 2

______|--> case 3

谢谢

4

1 回答 1

6

Aunit_test不仅有p_name而且还有p_parent_id,这是测试套件的 ID。这两个属性都继承自和test_unit的通用基类。unit_testtest_suite

要从 ID 中获取套件,我们可以查看其current_test_case工作原理:

test_case const&
current_test_case()
{
    return get<test_case>( s_frk_impl().m_curr_test_case );
}

m_curr_test_case成员是一个test_unit_id,就像p_parent_id。因此,要获取当前测试用例的测试套件,您可以使用以下命令:

framework::get<test_suite>(current_test_case().p_parent_id)

最后,test_suite有一个p_name类似的属性unit_test,所以你应该在那里找到名称。

于 2013-08-28T16:38:28.463 回答