2013-08-28 13 views
8

저는 BOOST TEST을 사용하고 있는데 test case에서 test suite을 찾는 방법이 있는지 궁금합니다.테스트 케이스 내에 BOOST TEST 테스트 스위트 이름을 얻으십시오.

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

또한 제품군의 이름을 찾을 수있는 방법이 있나요 : 나는 의해 test case의 이름을 찾을 수 있다는 것을 알고?

내 스위트 룸 케이스 구조는 다음과 같습니다

suite ---> case 1

______|--> case 2

______|--> case 3

감사

답변

5

unit_test가의 ID하는 유일한 p_name뿐만 아니라 p_parent_id하지있다 테스트 스위트. 두 속성은 unit_testtest_suite의 공통 기본 클래스 인 test_unit에서 상속됩니다.

이 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 멤버는 p_parent_id처럼 test_unit_id입니다. 그래서, 현재 테스트 케이스의 테스트 스위트를 얻으려면, 당신은이를 사용할 수 있습니다 : 당신이 거기에 이름을 찾을 수 있어야하므로

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

마지막으로, test_suite, 그냥 unit_test 같은 p_name 속성이 있습니다.

+1

감사! 'prnt_id_t'가 : boost :: unit_test :: framework :: current_test_case ('boost :: unit_test :: test_suite> (prnt_id_t)) .p_parent_id;' – hudac