使用 ASSERT_DEATH 时,有没有办法在应用程序终止后自动继续执行所有测试

When using ASSERT_DEATH, is there a way to automatically continue the execution of all tests once the application terminates?

本文关键字:终止 继续 执行 测试 应用程序 DEATH ASSERT 有没有 使用      更新时间:2023-10-16

我有一个单元测试,它以导致断言失败的方式执行代码。当断言失败时,应用程序应完成。

为了测试这是否确实发生,我正在使用EXPECT_DEATH,它有效。

  1. 代码执行到达断言行
  2. 断言失败
  3. 程序完成
  4. 测试通过

问题是,当程序完成时,有一个窗口报告程序停止工作,我需要单击"关闭程序"才能继续测试。

我需要这个窗口根本不弹出,并且测试无需按任何按钮即可继续。这可能吗?

我在MS Windows上使用GCC。

在Windows中,您可以禁用Windows错误报告功能,该功能会弹出不需要的窗口。坏消息是,这需要在不同的Windows版本中以不同的方式完成。但好消息是,网上有好人,他们已经很好地记录了它:)例如 https://www.lifewire.com/how-do-i-disable-error-reporting-in-windows-2626074