问题标签 [googlemock]

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 投票
1 回答
2855 浏览

c++ - 使用 googlemock 模拟正在测试的函数的内部调用

我是 Google Mock 的新手,根据我对文档和在线资源的理解,我无法找到解决问题的方法:

我有以下课程:

现在我正在尝试为 A::fun1() 编写 Google 测试。但是由于代码的结构(所有调用都是通过对象进行的,并且我没有可以使用它来初始化模拟等的基类,所以我无法成功模拟它。

有人可以帮助我了解这是否可以用当前形式的 Google Mock 进行模拟?请注意,我不允许更改原始源代码。

0 投票
1 回答
610 浏览

c++ - Google Mock 未报告低于预期的通话次数

我写了一个谷歌测试(使用谷歌模拟)。以下是相关代码:

实际的实现是:

基本上,enqueue()应该为数据中的每个条目调用一次。此外,模拟是正常的模拟(不是严格等)

正如预期的那样,当我检查Times(2).

正如预期的那样,当我检查Times(0)or时,这个测试失败了Times(1)

但是,当我检查时,这个测试通过了Times(3)

为什么?我应该怎么做才能检测到这种行为?

0 投票
4 回答
40591 浏览

c++ - gtest 和 gmock 有什么区别?

我试图了解Googlegoogle-mockC++ 模拟框架的目的。

我之前已经使用gtest过,但我仍然无法理解是什么gmock。为什么我们需要它?

gtest用于单元测试。如果需要gmock,我们需要什么?gmockunit testing

0 投票
1 回答
881 浏览

unit-testing - 如何(谷歌)模拟 DBUS 接口?

假设我有一个带有以下代码的课程

DBUS 调用位于命名空间中,因此是 ::(我相信)。谁能建议如何模拟/存根 ::dbus_* 调用?

0 投票
5 回答
106831 浏览

c++ - gmock 设置默认操作 / ON_CALL 与 EXPECT_CALL

我不明白使用 ON_CALL 和 EXPECT_CALL 指定默认操作时的区别。

到目前为止,我注意到/了解到有两种方法可以调整模拟的默认操作:

或者

有人可以向我解释一下:

  • 两种方法的区别
  • 每个人的起起落落
  • 什么时候适合使用它们(什么样的设置......)
0 投票
2 回答
20243 浏览

c++ - googlemock 的 EXPECT_CALL 导致“未知文件:错误:SEH 异常,代码 0xc0000005 在测试主体中抛出”

我是googlemock的新手。我目前的项目需要 googlemock 才能使用。我从谷歌帮助网站上学习了 gmock 的基础知识。但是当我尝试在我的项目中实现相同的功能时,它会抛出SEH exception with code 0xc0000005错误。我的项目有多个线程,其中一个线程调用 RUN_ALL_TESTS 上面的代码导致SEH exception

工具:VS2010,Windows 7

Try to mock the function of a class

0 投票
1 回答
108 浏览

visual-studio-2010 - 包含 gmock.LIB 后,Visual Studio 2010 不执行代码

早些时候我gtest用于我的项目。目前我正在使用,并且gmock当我为gmock.lib,提供了路径时。然后控件根本不会进入.gmock_mock.lib..\..\includecode

假设以前它就像例如

现在,在添加.libinclude路径之后,它根本不执行只是 Strats 调试并结束而不去任何地方......

请帮我。

0 投票
2 回答
1459 浏览

c++ - C++ 单元测试和存根第三方 C 库

我需要对一些我编写的使用 3rd 方 C 库的 C++ 对象进行单元测试。由于超出此问题范围的原因,我不能直接调用第 3 方 C 库,需要将其存根用于测试套件。

对于我们使用的单元测试套件的其他部分googlemock,但我认为它不能用于C库。我可以手动存根库,但不喜欢(部分是由于懒惰(它相当大),但主要是因为它只是一个原则问题)。

所以这是我的问题:是否有一个工具可以根据C库头文件生成存根代码?一旦我有了 stubbed-out 代码,我将对它做一些小的修改,然后我将链接它以进行单元测试。

0 投票
1 回答
4005 浏览

c++ - 使用 googlemock 模拟 const 指针参数的副作用

我正在使用 googlemock 进行单元测试,并尝试模拟具有“输出数组参数”的方法:

myFunc 方法应该将值存储在 myVal 数组中。

我如何模拟这种副作用?我尝试了以下方法:

我的意图是 myFunc 的调用者将值 1. 和 2. 接收到它传递给模拟方法的数组中。

但是,这种方法行不通。编译器这样说:

无法为数组指定显式初始化程序

有人知道如何模拟这种参数的行为吗?

谢谢你。

0 投票
2 回答
18162 浏览

c++ - 为什么 Google Mocks 发现这个函数调用不明确?

我在尝试开始使用 Google Mocks 时遇到了一个问题——由于某种原因,它无法告诉我在EXPECT_CALL宏中指定的调用,即使类型是一致的。我想知道为什么它不只匹配第一个函数,以及我需要做什么/添加以使其匹配第一个函数。

模拟类:

抛出错误的测试代码:

编译错误: