问题标签 [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 投票
2 回答
13717 浏览

googletest - Google Mock:对具有不同参数的同一功能的多重期望

考虑某个模拟函数预计会被多次调用的情况,每次都在某个参数中使用不同的值。我想验证该函数确实被调用一次,并且在某个值列表中的每个值(例如 1、2、5)中只调用一次。

另一方面,我想避免定义一个序列,因为这将决定一个特定的顺序,这是一个我想保持自由的实现细节。

这种情况下是否有某种匹配器或其他解决方案?

我不确定这是否会以任何方式影响解决方案,但我确实打算使用 WillOnce(Return(x)) 和上面列表中的每个值不同的 x。

0 投票
2 回答
601 浏览

c++ - 排除时间测试

您好,我有一些课程,例如“数学”:头文件:

和 cpp 文件:

我也测试了这个文件:

当我运行这个测试时,我看到测试通过并且这个测试的时间是 1500 毫秒,我如何从总测试时间中排除创建课程所用的时间?

0 投票
2 回答
2106 浏览

c++ - 内联函数的gtest问题

你好我有其中包括内联函数,当我尝试用谷歌测试测试这个类时,我有如下错误:

例如我的类(头文件)

我的课(cpp文件)

测试:

我需要做什么?我阅读了手册,但看不到如何解决此错误。

0 投票
2 回答
12486 浏览

c++ - 将 Google C++ 测试框架与 CMake 结合使用的最简单示例

我有一个非常简单的 C++ 库(一个头文件,一个 .cpp 文件)。我想使用 Google C++ 测试框架为这个项目编写单元测试。

这是目录结构:

我不打算编写自己的 main() 函数。我想与入门中提到的 gtest_main链接。CMakeLists.txt 应该包含什么?

0 投票
2 回答
3705 浏览

c++ - 如何检查 Google 测试是否在我的代码中运行

如果正在对它进行单元测试,我有一段代码我不想运行。我希望找到一些我可以检查的由 gtest 库设置的#defined 标志。我找不到用于此目的的一个,但是在查看了 gtest 标头后,我找到了一个我认为可以像这样使用的:

这似乎不起作用,因为无论如何所有代码都运行。我可以检查另一个可能有用的标志吗?

0 投票
1 回答
141 浏览

googletest - 使用 GoogleTest for C++ 调用函数名称是否有任何限制?

当我使用 Google Test 调用函数时,是否有任何限制,例如我不能使用下划线或任何其他特殊字符?

0 投票
1 回答
1035 浏览

c++ - 如何处理构建谷歌测试执行文件的自动工具?

我无法生成包含我所有使用自动工具的谷歌测试的测试可执行文件。

我们的开发项目非常大,包含几个模块。所以,我想要的是让每个模块创建一个测试 lib/object 文件,然后将它们一起创建一个测试 exec 文件(实际上是通过make test

这个 Makefile.am 编译,但不运行测试:(测试不是自动注册的,它正在运行 0 测试)

当然,这个可行(但这不是我想要的):

两者之间的真正区别是什么?我怎样才能使这些测试在我的项目中工作?

0 投票
1 回答
1825 浏览

c++ - 使用 GoogleTest 对构造函数进行死亡测试

尝试创建 ASSERT_EXIT 对象时出现段错误,该对象会在错误参数上引发自定义异常,如下所示:

正在创建的类是这样的:

自定义异常是这样的:

是否有解决方法或更好的方法?

谢谢

0 投票
1 回答
1241 浏览

performance - 用 googletest 和 Jenkins 比较/趋势测试数据

我的 C++ 项目使用googletestJenkins生成 JUnit 格式的 XML 结果。这适用于通过/失败结果和测试持续时间。

我的一些测试测量代码性能并断言这超过了某个阈值。我想将此扩展到绘制连续构建的性能数据图表。我使用 googletestRecordProperty方法在 XML 中记录附加信息

如何配置 Jenkins 或其插件之一以PerformanceData在连续构建中绘制图表(或等效记录)?

0 投票
1 回答
266 浏览

c++ - cmake <-> make 和单元测试:创建不编译的目标,除非明确命名

我想在模块中使用 gtest 构建我的单元测试。每个模块通常是多个可测试单元的集合。在开发模块时,我一次创建一个单元测试,一旦完成,我将它们连接到整个模块的一个单元测试中。

因此,对于一些说明,每个测试看起来像这样。

连接测试的文件如下所示

所以我不能让生成的 make build 只有在命名时才能构建单独的测试,并且不能在“all”目标中包含单独的测试。整个模块统一单元测试构建应该在 all 目标中。

我不想make all重复编译单个测试。