问题标签 [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.
googletest - Google Mock:对具有不同参数的同一功能的多重期望
考虑某个模拟函数预计会被多次调用的情况,每次都在某个参数中使用不同的值。我想验证该函数确实被调用一次,并且在某个值列表中的每个值(例如 1、2、5)中只调用一次。
另一方面,我想避免定义一个序列,因为这将决定一个特定的顺序,这是一个我想保持自由的实现细节。
这种情况下是否有某种匹配器或其他解决方案?
我不确定这是否会以任何方式影响解决方案,但我确实打算使用 WillOnce(Return(x)) 和上面列表中的每个值不同的 x。
c++ - 排除时间测试
您好,我有一些课程,例如“数学”:头文件:
和 cpp 文件:
我也测试了这个文件:
当我运行这个测试时,我看到测试通过并且这个测试的时间是 1500 毫秒,我如何从总测试时间中排除创建课程所用的时间?
c++ - 内联函数的gtest问题
你好我有其中包括内联函数,当我尝试用谷歌测试测试这个类时,我有如下错误:
例如我的类(头文件)
我的课(cpp文件)
测试:
我需要做什么?我阅读了手册,但看不到如何解决此错误。
c++ - 将 Google C++ 测试框架与 CMake 结合使用的最简单示例
我有一个非常简单的 C++ 库(一个头文件,一个 .cpp 文件)。我想使用 Google C++ 测试框架为这个项目编写单元测试。
这是目录结构:
我不打算编写自己的 main() 函数。我想与入门中提到的 gtest_main链接。CMakeLists.txt 应该包含什么?
c++ - 如何检查 Google 测试是否在我的代码中运行
如果正在对它进行单元测试,我有一段代码我不想运行。我希望找到一些我可以检查的由 gtest 库设置的#defined 标志。我找不到用于此目的的一个,但是在查看了 gtest 标头后,我找到了一个我认为可以像这样使用的:
这似乎不起作用,因为无论如何所有代码都运行。我可以检查另一个可能有用的标志吗?
googletest - 使用 GoogleTest for C++ 调用函数名称是否有任何限制?
当我使用 Google Test 调用函数时,是否有任何限制,例如我不能使用下划线或任何其他特殊字符?
c++ - 如何处理构建谷歌测试执行文件的自动工具?
我无法生成包含我所有使用自动工具的谷歌测试的测试可执行文件。
我们的开发项目非常大,包含几个模块。所以,我想要的是让每个模块创建一个测试 lib/object 文件,然后将它们一起创建一个测试 exec 文件(实际上是通过make test
)
这个 Makefile.am 编译,但不运行测试:(测试不是自动注册的,它正在运行 0 测试)
当然,这个可行(但这不是我想要的):
两者之间的真正区别是什么?我怎样才能使这些测试在我的项目中工作?
c++ - 使用 GoogleTest 对构造函数进行死亡测试
尝试创建 ASSERT_EXIT 对象时出现段错误,该对象会在错误参数上引发自定义异常,如下所示:
正在创建的类是这样的:
自定义异常是这样的:
是否有解决方法或更好的方法?
谢谢
performance - 用 googletest 和 Jenkins 比较/趋势测试数据
我的 C++ 项目使用googletest为Jenkins生成 JUnit 格式的 XML 结果。这适用于通过/失败结果和测试持续时间。
我的一些测试测量代码性能并断言这超过了某个阈值。我想将此扩展到绘制连续构建的性能数据图表。我使用 googletestRecordProperty
方法在 XML 中记录附加信息:
如何配置 Jenkins 或其插件之一以PerformanceData
在连续构建中绘制图表(或等效记录)?
c++ - cmake <-> make 和单元测试:创建不编译的目标,除非明确命名
我想在模块中使用 gtest 构建我的单元测试。每个模块通常是多个可测试单元的集合。在开发模块时,我一次创建一个单元测试,一旦完成,我将它们连接到整个模块的一个单元测试中。
因此,对于一些说明,每个测试看起来像这样。
连接测试的文件如下所示
所以我不能让生成的 make build 只有在命名时才能构建单独的测试,并且不能在“all”目标中包含单独的测试。整个模块统一单元测试构建应该在 all 目标中。
我不想make all
重复编译单个测试。