2015-04-08 9 views
7

Używam struktury testowej Google dla mojego projektu. Ja rzuca wyjątek od kodu jako:Uzyskaj wiadomość testową dotyczącą wyjątku testowego google

throw DerivedClassException("message"); 

aw ramie testowej używając jako:

ASSERT_THROW(commond(), DerivedClassException); 

Chcę otrzymać wiadomość z what() API. Dowolny sposób uzyskania dokładnego komunikatu wyjątku dotyczącego wyjątku.

Odpowiedz

8

Jedynym sposobem, aby sprawdzić rzucony wyjątek jest złapać go w teście:

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