0
获得一个赛格故障而试图ASSERT_EXIT对象创建抛出一个自定义异常的不正确参数,像这样:死亡测试构造与GoogleTest
ASSERT_EXIT(MyObj(1,2,3) , ::testing::ExitedWithCode(1), "");
其中被创建的类是像这样:
class MyObj
{
public:
MyObj(int a, int b, int c) { if(a < b) throw MyException("Error"); }
}
自定义异常是像这样:
class MyException : public std::invalid_argument
{
public:
MyException(std::string s) { /* do some logging */ exit(1); }
};
有一种解决方法或贝特r方法?
感谢
哪里SIGSEGV来自哪里?在您的代码中的某处,或从谷歌测试的大肠? (如果它来自Google测试,这是Google测试中的一个错误,您应该通知他们) – 2011-06-01 00:39:43
您在抛出异常时调用'exit(1)'?为什么?! – 2011-06-01 12:59:32