2015-04-08 7 views
7

Sto utilizzando il framework di prova di Google per il mio progetto. Sto gettando eccezione dal codice come:Ottieni il messaggio di lancio dell'eccezione di prova di google

throw DerivedClassException("message"); 

e nel telaio di prova utilizzando come:

ASSERT_THROW(commond(), DerivedClassException); 

voglio ottenere un messaggio con what() API. Qualsiasi modo per ottenere il messaggio di eccezione esatto dell'eccezione.

risposta

8

L'unico modo per controllare l'eccezione generata è di prenderlo nel test:

void test_foo(MyTest, TestException) 
{ 
    try 
    { 
    functionThatThrowsException(); 
    FAIL(); 
    } 
    catch(const DerivedClassException& err) 
    { 
    // check exception 
    ASSERT_STREQ("error message", err.what()); 
    } 
}