2010-11-11 5 views
5

Io uso boost::test per eseguire test di integrazione su una classe che crea directory e file. Mi piacerebbe che i file siano specificati caso-test specifico, quindi se mi trovo nei guai riesco a trovare facilmente quale test case ha lasciato le sue directory/file in giro.utilizzando il nome del testcase nei nomi file di output

Quindi mi piacerebbe usare il nome del test case nel costruttore del proiettore che sto usando, come mostrato di seguito. E 'possibile questo e come? Ho cercato il manuale boost :: test ma non ho trovato questa informazione.

ad es.

struct foo_fixture 
{ 
    foo_fixture() 
    { 
     std::string case_dependent_name(BOOST_TEST_CASE_NAME); 
     create_directory(case_dependent_name); 
    } 
}; 

BOOST_FIXTURE_TEST_CASE (foo_case_one, foo_fixture) 
{ 
    ... 
} 
BOOST_FIXTURE_TEST_CASE (foo_case_two, foo_fixture) 
{ 
    ... 
} 

risposta

7

ho trovato questo, e funziona:

boost user group discussion

In sostanza, si utilizza la variabile membro stringa trovata nell'istanza test_unit:

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

Tu sei il mio eroe. –