【发布时间】:2015-11-02 19:55:31
【问题描述】:
我正在测试一些使用来自glog 的CHECK 的代码,并且我想测试此检查在某些情况下是否失败。我的代码如下:
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),那么EXPECT_FATAL_FAILURE 将正常工作,但随后我将在非测试文件中引入测试依赖项,这......很糟糕。
有没有办法让gtest 捕捉到中止信号(或任何CHECK 引发的信号)并期待它?
【问题讨论】:
标签: c++ exit googletest glog