2013-09-05 79 views
0

如何用gtest(gmock可用於此事)測試try-catch塊如果我不能激起std:string exceptions用gtest測試追加

int 
Test::function_to_be_tested(std::string& url) const 
{ 
    try 
    { 
     url.append("?"); 

    } 
    catch(std::exception const& e) { 
     logger.log(LOG_ERROR, e.what()); 
     return -1; 
    } 
    return 0; 
} 

我來自一個Java的世界,並在Java中我會嘲笑String一些嘲弄的框架,並在spyappend附上我自己的一個函數,它總是會拋出異常。這在C++(98)中可能嗎?

回答

1

即使在Java中,嘲諷String也會很棘手。在C++中,忘記它。

相反,創建一個字符串已經是max_size()個字符。那麼append()應該丟掉。

+0

那麼,我試圖創建它,但測試程序退出,因爲'std :: bad_alloc'。即使在測試程序中,我也無法創建這麼大的字符串。 – pakore

相關問題