问题标签 [googletest]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
unit-testing - 使用谷歌测试测试崩溃
在谷歌测试中,我希望能够做这样的事情:
而且我希望输出显示该语句实际上使进程异常终止的错误。
谷歌测试对此有任何支持吗?我很确定我将如何自己实现它,所以我几乎可以肯定它是可能的。
c++ - 将 gtest 配置为仅在控制台中显示失败的测试
是否有仅显示失败测试的选项?我不得不改用吉他来实现这一点,但我想念命令行工具。
unit-testing - googletest 打印 COleDateTime 值
我已将 googletest 集成到我们的 MFC 应用程序中。但是,在编写涉及 COleDateTime 对象的测试时,我遇到了以下警告:
测试如下:
问题是我无法添加 << 运算符或 PrintTo 方法作为文档宣布。分配更多测试将涉及日期值,因此我想避免文档引用的内联解决方案。
是否有一个很好的解决方案来控制 COleDateTime 值的打印字符串?
当前输出如下:
注意实际值!
c++ - makefile.am 可以为一组目标设置 LDADD 吗?
我将单元测试放在源代码的同一目录中。但是我如何在 Makefile.am 中为所有这些单元测试设置 LDADD 以使用特定的库(例如谷歌测试)?
c++ - 如何使用谷歌测试抑制由 assert() 引起的运行时错误?
我在 C++ 项目中使用谷歌测试。一些函数使用 assert() 来检查无效的输入参数。我已经阅读了关于死亡测试(什么是谷歌测试,死亡测试)并开始在我的测试用例中使用它们。
但是,我想知道是否有办法抑制由失败的断言引起的运行时错误。此时,每个失败的断言都会创建一个弹出窗口,每次运行测试时我都必须关闭。随着我的项目的发展,这种行为越来越以不可接受的方式扰乱工作流程,我倾向于不再测试 assert() 断言。我知道通常可以禁用断言,但是从测试框架内部抑制操作系统生成的警告似乎更方便。
c++ - GoogleTest:如何设置断点?
我正在使用带有 Google 测试的 Visual Studio 2010 C++。我的测试项目有一个构建后事件来运行测试项目。这有效,谷歌测试测试结果显示在 Visual Studio 输出窗口中。但是,现在我想设置一个调试断点来逐步完成测试。当我在我的测试代码或它调用的代码中设置断点时,什么都没有发生。
如何使用谷歌测试设置断点?或者更准确地说,我怎样才能让它触发调试器?
c++ - C++,谷歌测试/模拟:测试和对象类型的断言
我有这个(不是真的,只是一个简单的例子):
我需要检查函数的结果类型(这里没有任何意义,我保证我的例子更复杂),谷歌测试/模拟是否支持这种断言?
我尝试使用 A<T> 的 EXPECT_THAT,但我无法做到这一点。
谢谢。
c++ - 谷歌测试:“从宽字符串初始化的字符数组”
我已经实现了类型参数化测试(Sample #6)以将相同的测试用例应用于多个类。碰巧将字符串分配给 a signed char[]
、或时unsigned char[]
,我得到:const signed char[]
const unsigned char[]
更有趣的是,当将测试用例应用于一种类型时,一切都很好,但是当我添加第二种类型时,它就崩溃了。我可以在以下代码中重现错误:
在该行typedef Types<std::istream, std::ostream> Implementations;
中创建了一个称为类型的列表,Implementations
在下一行中TYPED_TEST_CASE(IosTest, Implementations);
,定义了测试用例IosTest
将应用于Implementations
列表中定义的类型。
正如我已经说过的,如果我从列表中删除其中一个std::istream
或std::ostream
从Implementations
列表中删除,我可以编译并运行测试而不会发出任何警告(我正在使用-Wall
标志)。谁能解释这种现象?
unit-testing - Google 测试中的自定义 EXPECT_NEAR 宏
范围:使用 Google Test 和 OpenCV。
我想测试一下 my Vec3f
equals another Vec3f
。Vec3f
是 OpenCV 中维数为 3 的向量,类型为浮点数。==-运算符已定义,因此EXPECT_EQ(Vec3f(), Vec3f())
有效。
但由于它们是浮点数,我想使用EXPECT_NEAR(float a, float b, float delta)
宏。我该怎么做才能像使用它一样使用它EXPECT_NEAR(vec_a, vec_b, float delta)
?
目前我正在遍历向量的每个元素并在那里执行 EXPECT_NEAR 。
这可能是相关的:GoogleTest 中用于不等于双重比较的便捷方法?
unit-testing - Scala 中提供更多信息的断言
我正在寻找谷歌测试框架风格的断言,其中像 ASSERT_LT(a, b) 这样的东西将检查 $a 是否小于 $b,如果不是,将打印 $a 和 $b 的值错误信息。到目前为止,我发现的断言只是停止执行,默认情况下不打印任何有用的东西。任何指针?
奖励:我喜欢编写大量断言代码(不仅仅是在测试中),所以如果断言能够快速评估,那就太好了。
上下文:我在使用此代码作为模板编写单元测试时遇到了这个问题。