2013-08-28 9 views
8

के अंदर बूस्ट टेस्ट टेस्ट सूट नाम प्राप्त करें, मैं BOOST TEST का उपयोग कर रहा हूं और मुझे आश्चर्य है कि test suitetest case के अंदर से खोजने का कोई तरीका है या नहीं। मुझे पता है कि मैं द्वारा test case के नाम पा सकते हैं:एक टेस्ट केस

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

वहाँ भी सूट नाम पता लगाने के लिए एक तरीका है?

मेरे सूट-मामलों संरचना होती है:

suite ---> case 1

______|--> case 2

______|--> case 3

धन्यवाद

उत्तर

5

एक unit_test है न केवल p_name लेकिन यह भी p_parent_id है, जो की आईडी है परीक्षण सुइट। उन दोनों गुणों को test_unit से विरासत में मिला है, जो unit_test और test_suite के लिए सामान्य आधार वर्ग है।

आईडी से सूट प्राप्त करने के लिए, हम कैसे काम करता है 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, बस unit_test की तरह एक p_name संपत्ति है तो आप नाम खोजना चाहिए।

+1

धन्यवाद! मैंने उपयोग किया: '(boost :: unit_test :: ढांचे :: प्राप्त करें (prnt_id_t))। P_name', जबकि' prnt_id_t' है: 'boost :: unit_test :: framework :: current_test_case () .p_parent_id; ' – hudac

संबंधित मुद्दे