c++ - 如何使用 googletest 失败进入断点

标签 c++ visual-studio unit-testing debugging googletest

我最近使用命令行选项 gtest_break_on_failure 或通过定义 GTEST_BREAK_ON_FAILURE 环境变量从 googletest 中发现了 Failures into Break-Points - option .

我尝试使用 gtest_break_on_failure。从命令行,我没有看到任何效果(老实说,我看到了希望 VS2010 会被注册为调试器,并且会以某种方式神奇地弹出并指向错误源)。

在 VS 环境中使用它作为命令行参数,失败的断言触发了中断,但调用堆栈不包含导致失败的测试方法。我找到了步骤 (F10) 的工作,直到我到达我的测试代码,但这似乎并不方便。

是否可以通过命令行使用该选项?

有没有人推荐如何在环境中获得正确的调用堆栈?

最佳答案

在 VS 中,您可以将 --gtest_break_on_failure 添加到目标属性页中的命令参数中,然后直接运行 exe 而无需跨步。

Property Pages showing Command Arguments

从命令行,您应该能够使用标志 --gtest_break_on_failure --gtest_catch_exceptions=0 运行调试可执行文件,这应该允许您在测试失败时闯入 MSVC 调试器.

关于c++ - 如何使用 googletest 失败进入断点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15781710/

相关文章:

c++ - 添加字符串的空结尾

c# - 推送开始调试后 VS 2013 停止工作

c# - 样式表 "A namespace doesnot containmembers such as fields or methods"

javascript - AngularJS 单元测试,为什么有用?

c++ - 在内存 OpenCV 2 上写入视频

c++ - 如何与 "template using"定义的模板(别名)类成为 friend ?

c++ - 这种手动去虚拟化是否合法/可行?

visual-studio - 如何在 Visual Studio 2019 上使用 Bootstrap 5 和 Sass

java - Spring Mock mvc安心测试获取状态失败

node.js - 使用 jasmine 和 grunt 测试多个版本的 jquery