我正在使用googletest
并且在我的许多测试中我都使用该ASSERT_THROW
命令。问题是,例如,如果它抛出与我预期不同的异常,我得到的只是:
实际:它抛出不同的类型。
有没有办法让它吐出返回值之类的what()
?
我正在使用googletest
并且在我的许多测试中我都使用该ASSERT_THROW
命令。问题是,例如,如果它抛出与我预期不同的异常,我得到的只是:
实际:它抛出不同的类型。
有没有办法让它吐出返回值之类的what()
?
您可能通过指针抛出(使用new
关键字)
throw new MyDerivedException();
并期望收到非指针类型的异常:
EXPECT_THROW(blah, MyDerivedException);
你应该按价值扔。
throw MyDerivedException(); // notice lack of 'new'
抛出新的 MyDerivedException() ... EXPECT_THROW(blah, MyDerivedException*);