ASSERT_EXIT オブジェクトの作成中にセグ フォールトが発生し、次のような不適切なパラメーターでカスタム例外がスローされます。
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); }
};
回避策またはより良いアプローチはありますか?
ありがとう