【问题标题】:Tests fail when throw exception anywhere in TEST macro googletest在 TEST 宏 googletest 中的任何地方抛出异常时测试失败
【发布时间】:2021-06-18 14:34:25
【问题描述】:

我对谷歌测试框架有一些问题

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

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 它仍然显示相同的错误

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

【问题讨论】:

  • Google 测试必须显示调用堆栈。请发帖
  • @S.M.但事实并非如此。你知道怎么做吗?

标签: c++ exception googletest


【解决方案1】:

问题在于异常类型,谢谢。提交的代码有效

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-30
    • 1970-01-01
    • 1970-01-01
    • 2018-11-21
    • 2013-09-08
    相关资源
    最近更新 更多