用gtest测试附加

时间:2013-09-05 16:31:17

标签: c++ unit-testing googletest

如果我不能激发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)?

1 个答案:

答案 0 :(得分:1)

即使在Java中,模拟String也会很棘手。在C ++中,忘了它。

相反,创建一个长度为max_size()个字符的字符串。那么append()应该扔掉。