例如,我有这样的代码:
TEST_F(Testmyexception, testthrownexception)
{
EXPECT_THROW(throw new myexception(), myexception);
}
编译运行后报错:Actual: it throws a different type。
有没有人知道答案?
谢谢,
例如,我有这样的代码:
TEST_F(Testmyexception, testthrownexception)
{
EXPECT_THROW(throw new myexception(), myexception);
}
编译运行后报错:Actual: it throws a different type。
有没有人知道答案?
谢谢,
您正在抛出一个指向 a 的指针myexception
,因此您必须在检查中期待一个指针:
EXPECT_THROW(throw new myexception(), myexception*);
我想你想要:
EXPECT_THROW(throw std::underflow_error(""), std::underflow_error);
顺便说一句,抛出 myexception 实例的语法是:
throw myexception();
此处不应使用“new”关键字。