问题标签 [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.

0 投票
3 回答
38453 浏览

c++ - 谷歌测试:使用现有测试夹具类的参数化测试?

我有一个测试夹具类,目前许多测试都在使用它。

我想创建一个参数化测试,它还使用 MyFixtureTest 必须提供的所有功能,而无需更改我现有的所有测试。

我怎么做?

我在网上找到了类似的讨论,但没有完全理解他们的答案。

0 投票
2 回答
6069 浏览

c++ - 使用谷歌测试将类型名和字符串传递给参数化测试

有没有办法使用谷歌的测试将类型和字符串传递给参数化测试。

我想要做:

提前致谢

0 投票
3 回答
8420 浏览

c++ - GoogleTest 中用于不等于双重比较的便捷方法?

我正在为 ASSERT_DOUBLE_EQ 寻找类似于 ASSERT_EQ / ASSERT_NE 的东西。

也许我错过了一种没有 ASSERT_DOUBLE_NE 的简单方法?

0 投票
2 回答
44644 浏览

c++ - 谷歌测试装置

我试图了解 Google 测试装置是如何工作的。

假设我有以下代码:

当我编译时,为什么它说myPhrase1并且myPhrase2未在TEST_F

0 投票
4 回答
12628 浏览

c# - gtest (C++) 和 nunit (C#) 中双重比较的区别

我已经将带有 gtest 测试的 c++ 项目移植到带有 nunit 测试的 ac# 项目。现在我遇到了浮点精度的问题。

在 nunit 测试中我一直不好(红色)

在 gtest 测试中,我有:

没关系(绿色)

现在的问题是为什么???

0 投票
0 回答
346 浏览

visual-studio - Visual Studio 和 Google 测试:当依赖关系发生变化时强制重新运行测试项目

我有一组基于Google Test的单元测试,用于我正在开发的本机 C++ DLL。DLL 在它自己的项目中,而测试项目依赖于它。测试项目有一个运行测试的构建后事件脚本。

我的问题:每当重建测试项目时,它都会按预期运行测试。但是,对依赖 DLL 进行更改并不总是会导致重新生成测试项目。具体来说,似乎如果 DLL 的头文件都没有更改,Visual Studio 会决定不需要重新构建测试项目。

每当重新构建 DLL 时,是否有任何方法可以强制 Visual Studio 重新构建测试项目或运行构建后事件?

我可以通过右键单击测试项目中的一个文件并选择“编译”菜单项,然后进行构建来强制重新运行测试。我宁愿消除手动且经常被遗忘的步骤。

我怀疑如果我将 DLL 项目的源文件包含在我的测试项目中,我可以获得我想要的结果,但我真的很想针对实际的 DLL 运行测试。


相关但无用的问题:如何在 Visual Studio 2005 上设置 Google C++ 测试框架 (gtest)

0 投票
2 回答
32396 浏览

c++ - 什么是谷歌测试、死亡测试

我看到该功能的文档似乎非常重要,因为它在 Google 测试概述功能中并在以下内容中有详细说明:
https ://github.com/google/googletest/blob/master/docs/advanced.md#death-tests

它们看起来像标准assert(),但它们是 Google Test 的一部分,因此是 xUnit 测试框架。因此,我想知道使用这些死亡测试的真正用途或优势是什么。

0 投票
2 回答
45737 浏览

c++ - 如何通过 Google 测试捕捉断言?

我正在使用 Google 测试框架编写一些单元测试。但我想检查一些断言是否放置得当并且有用。有没有办法在 Google 测试中捕获断言?

正在测试的示例代码:

然后是测试:

EXPECT_ANY_THROW没有捕捉到断言,而只有例外。我正在寻找捕获断言的解决方案。

0 投票
7 回答
53279 浏览

c++ - 如何使用 googletest 捕获标准输出/标准错误?

使用googletest框架时是否可以捕获标准输出和标准错误?

例如,我想调用一个将错误写入控制台(stderr)的函数。现在,在测试中调用该函数时,我想断言那里没有输出。

或者,也许我想测试错误行为并想要断言当我(故意)产生错误时会打印某个字符串。

0 投票
2 回答
2393 浏览

c++ - C++ 程序意外退出,如何使用 gdb 进行调试?

我正在编写一个程序,该程序对我的同事编写的代码运行一些单元测试。我正在使用Google C++ 测试框架。我运行一个产生 3 个线程的函数,然后运行 ​​30 秒。运行后,程序以状态 0 退出。这显然不是预期的行为。我知道它不会让它更进一步,因为我在下一个直接行中放置了一个 cout 语句。

我的问题是,用 gdb 进行调试的最佳方法是什么?这很困难,因为程序没有段错误或类似的东西,它只是退出。有没有办法挂钩退出呼叫,然后得到一个长的回溯?

感谢您的帮助。

编辑: