【问题标题】:When using ASSERT_DEATH, is there a way to automatically continue the execution of all tests once the application terminates?使用 ASSERT_DEATH 时,有没有办法在应用程序终止后自动继续执行所有测试?
【发布时间】:2017-11-14 11:41:47
【问题描述】:

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

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

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

问题是当程序结束时,有一个窗口报告程序停止工作,我需要点击“关闭程序”才能继续测试。

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

我在 MS Windows 上使用 GCC。

【问题讨论】:

标签: c++ unit-testing googletest


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-03-12
    • 2023-03-05
    • 2020-12-29
    • 2011-12-23
    • 2017-08-17
    • 2013-09-04
    • 1970-01-01
    • 2020-03-23
    相关资源
    最近更新 更多