我正在使用googletest
,在我的许多测试中,我使用ASSERT_THROW
命令。问题是,例如,如果它抛出的异常与我预期的异常不同,我得到的只是:
实际:它会抛出不同的类型。
有没有办法让它吐出what()
或其他东西的返回值?
答案 0 :(得分:2)
您可能会通过指针(使用new
关键字)
throw new MyDerivedException();
并期望收到非指针类型的异常:
EXPECT_THROW(blah, MyDerivedException);
你应该按值投掷。
throw MyDerivedException(); // notice lack of 'new'