获取谷歌测试异常抛出消息

时间:2015-04-08 05:11:43

标签: c++ c++11 exception-handling googletest

我正在为我的项目使用谷歌测试框架。我从代码中抛出异常:

throw DerivedClassException("message");  

并在测试框架中使用as:

ASSERT_THROW(commond(), DerivedClassException);  

我想通过what() API获取消息。 以任何方式获得异常的确切异常消息。

1 个答案:

答案 0 :(得分:8)

检查抛出异常的唯一方法是在测试中捕获它:

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