我正在测试CHECK
从glog使用的一些代码,并且我想测试此检查在某些情况下是否失败。我的代码如下所示:
void MyClass::foo() {
// stuff...
// It's actually important that the binary gets aborted if this flag is false
CHECK(some_flag) << "flag must be true";
// more stuff...
}
我已经做了一些研究gtest
,以及我如何能够对此进行测试。我找到了EXPECT_FATAL_FALIURE
, EXPECT_NONFATAL_FAILURE
,HAS_FATAL_FAILURE
但我还没有弄清楚如何使用它们。我相当有信心,如果我更改CHECK(some_flag)
为EXPECT_TRUE(some_flag)
thenEXPECT_FATAL_FAILURE
将正常工作,但随后我将在非测试文件中引入测试依赖项,这... icky。
有没有办法gtest
捕捉中止信号(或任何CHECK
引发的信号)并期待它?