2013-08-28 22 views
8

Tôi đang sử dụng BOOST TEST và tôi tự hỏi liệu có cách nào để tìm ra số test suite từ bên trong test case hay không. Tôi biết rằng tôi có thể tìm thấy tên test case 's theo:Nhận tên bộ thử nghiệm BOOST bên trong một trường hợp kiểm tra

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

Có cách nào để tìm ra tên bộ cũng?

My cấu trúc suites-trường hợp là:

suite ---> case 1

______|--> case 2

______|--> case 3

Cảm ơn

Trả lời

5

Một unit_test đã không chỉ p_name mà còn p_parent_id, đó là ID của bộ thử nghiệm. Cả hai thuộc tính này được kế thừa từ test_unit, là lớp cơ sở chung cho unit_testtest_suite.

Để có được bộ từ ID, chúng ta có thể nhìn vào cách current_test_case công trình:

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

Thành viên m_curr_test_case là một test_unit_id, giống như p_parent_id. Vì vậy, để có được bộ kiểm tra của các trường hợp thử nghiệm hiện tại, bạn có thể sử dụng này:

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

Cuối cùng, test_suite có một tài sản p_name giống như unit_test, vì vậy bạn nên tìm tên đó.

+1

Cảm ơn! Tôi đã sử dụng: '(tăng :: unit_test :: framework :: get (prnt_id_t)). P_name', trong khi' prnt_id_t' là: 'boost :: unit_test :: framework :: current_test_case () .p_parent_id; ' – hudac

Các vấn đề liên quan