如果我不能激发std:string exceptions
,如何使用gtest测试try-catch块(gmock可用)?
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
,并在spy
上使用append
来附加我自己的函数,它总是会抛出一个例外。这可能在C ++(98)?
答案 0 :(得分:1)
即使在Java中,模拟String
也会很棘手。在C ++中,忘了它。
相反,创建一个长度为max_size()
个字符的字符串。那么append()
应该扔掉。