在 TEST 宏 googletest 中的任何地方抛出异常时测试失败

Tests fail when throw exception anywhere in TEST macro googletest

我在使用 google 测试框架时遇到一些问题

所以,当我运行下面的代码时:

void f(){
    throw runtime_error("");
}

TEST(test, test1){
    EXPECT_THROW(f(), std::runtime_error);
}

所以,我得到了这样的错误:

make[2]: *** [test/CMakeFiles/gTest.dir/build.make:101: test/gTest] Segmentation fault (core dumped)
make[2]: *** Deleting file 'test/gTest'
make[1]: *** [CMakeFiles/Makefile2:173: test/CMakeFiles/gTest.dir/all] Error 2
make: *** [Makefile:136: all] Error 2

但是当 f() 没有抛出任何东西时,所以测试没有通过。即使我使用 try catch 它仍然显示相同的错误

你能帮忙解决这个问题吗?谢谢

问题出在异常类型上,谢谢。提供的代码有效